Changeset 53 for trunk/Cocoa/Pester


Ignore:
Timestamp:
01/02/03 05:30:03 (21 years ago)
Author:
Nicholas Riley
Message:

Updated for Pester 1.1a5 (very limited release).

Pester 1.1a4 was never released.

Location:
trunk/Cocoa/Pester/Source
Files:
21 added
1 deleted
56 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cocoa/Pester/Source

    • Property svn:ignore
      •  

        old new  
        11build
         2.gdb_history
  • trunk/Cocoa/Pester/Source/BDAlias.h

    r39 r53  
    6363- (BOOL)isEqual:(id)object;
    6464
     65- (NSString *)displayNameWithKindString:(NSString **)outKindString;
     66
    6567- (NSString *)fullPath;
    6668- (NSString *)fullPathRelativeToPath:(NSString *)relPath;
  • trunk/Cocoa/Pester/Source/BDAlias.m

    r39 r53  
    245245}
    246246
     247- (NSString *)displayNameWithKindString:(NSString **)outKindString;
     248{
     249    AliasHandle alias = [self alias];
     250    FSRef ref;
     251    Boolean wasChanged;
     252    CFStringRef name;
     253
     254    if (alias == NULL) return nil;
     255    if (FSResolveAlias(NULL, alias, &ref, &wasChanged) != noErr) return nil;
     256
     257    if (LSCopyDisplayNameForRef(&ref, &name) != noErr) return nil;
     258    [(NSString *)name autorelease];
     259
     260    if (outKindString != NULL) {
     261        if (LSCopyKindStringForRef(&ref, (CFStringRef *)outKindString) != noErr) return nil;
     262        [*outKindString autorelease];
     263    }
     264
     265    return (NSString *)name;
     266}
     267
    247268- (NSString *)fullPath
    248269{
  • trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/classes.nib

    r41 r53  
    1717        {CLASS = NJRIntegerFilter; LANGUAGE = ObjC; SUPERCLASS = NSNumberFormatter; },
    1818        {
     19            CLASS = NJRIntervalField;
     20            LANGUAGE = ObjC;
     21            OUTLETS = {intervalUnits = NSPopUpButton; };
     22            SUPERCLASS = NSTextField;
     23        },
     24        {
    1925            ACTIONS = {stopSoundPreview = id; };
    2026            CLASS = NJRQTMediaPopUpButton;
     
    2329            SUPERCLASS = NSPopUpButton;
    2430        },
     31        {CLASS = NJRUnfocusableMovieView; LANGUAGE = ObjC; SUPERCLASS = NSMovieView; },
    2532        {
    2633            ACTIONS = {stopVoicePreview = id; };
     
    2936            SUPERCLASS = NSPopUpButton;
    3037        },
     38        {CLASS = NSDisclosureButtonCell; LANGUAGE = ObjC; SUPERCLASS = NSButtonCell; },
    3139        {CLASS = NSObject; LANGUAGE = ObjC; },
    3240        {
     
    3543                doScriptChanged = id;
    3644                doSpeakChanged = id;
     45                editAlertChanged = id;
    3746                inAtChanged = id;
    3847                playSoundChanged = id;
     
    4554            LANGUAGE = ObjC;
    4655            OUTLETS = {
     56                alertTabs = NSTabView;
     57                alertView = NSTextField;
    4758                bounceDockIcon = NSButton;
     59                cancelButton = NSButton;
    4860                displayMessage = NSButtonCell;
    4961                doScript = NSButtonCell;
    5062                doSpeak = NSButtonCell;
     63                editAlert = NSButtonCell;
    5164                inAtMatrix = NSMatrix;
    5265                messageField = NSTextField;
     
    6780                timeSummary = NSTextField;
    6881                voice = NJRVoicePopUpButton;
     82                wakeUp = NSButtonCell;
    6983            };
    7084            SUPERCLASS = NSWindowController;
  • trunk/Cocoa/Pester/Source/English.lproj/MainMenu.nib/info.nib

    r45 r53  
    44<dict>
    55        <key>IBDocumentLocation</key>
    6         <string>73 38 356 240 0 0 1600 1178 </string>
     6        <string>63 2 356 240 0 0 1280 832 </string>
    77        <key>IBEditorPositions</key>
    88        <dict>
    99                <key>29</key>
    10                 <string>94 343 273 44 0 0 1600 1178 </string>
     10                <string>130 241 273 44 0 0 1280 832 </string>
    1111        </dict>
    1212        <key>IBFramework Version</key>
    13         <string>286.0</string>
     13        <string>291.0</string>
    1414        <key>IBOpenObjects</key>
    1515        <array>
     
    1818        </array>
    1919        <key>IBSystem Version</key>
    20         <string>6D52</string>
     20        <string>6G30</string>
    2121        <key>IBUserGuides</key>
    2222        <dict>
     
    2525                        <key>guideLocations</key>
    2626                        <array>
    27                                 <string>Horizontal:92.000000</string>
    28                                 <string>Horizontal:148.000000</string>
    29                                 <string>Horizontal:116.000000</string>
    30                                 <string>Horizontal:64.000000</string>
     27                                <string>Horizontal:122.000000</string>
     28                                <string>Horizontal:178.000000</string>
     29                                <string>Horizontal:192.000000</string>
     30                                <string>Vertical:36.000000</string>
     31                                <string>Vertical:16.000000</string>
     32                                <string>Vertical:85.000000</string>
     33                                <string>Vertical:422.000000</string>
     34                                <string>Horizontal:151.000000</string>
    3135                        </array>
    3236                        <key>guidesLocked</key>
  • trunk/Cocoa/Pester/Source/English.lproj/Movie alert.nib/classes.nib

    r33 r53  
    99            SUPERCLASS = NSWindowController;
    1010        },
    11         {CLASS = java.lang.Object; LANGUAGE = Java; }
     11        {CLASS = "java.lang.Object"; LANGUAGE = Java; }
    1212    );
    1313    IBVersion = 1;
  • trunk/Cocoa/Pester/Source/English.lproj/Movie alert.nib/info.nib

    r33 r53  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
    3 <plist version="0.9">
     2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     3<plist version="1.0">
    44<dict>
    55        <key>IBFramework Version</key>
    6         <string>263.2</string>
     6        <string>291.0</string>
    77        <key>IBOpenObjects</key>
    88        <array>
     
    1010        </array>
    1111        <key>IBSystem Version</key>
    12         <string>5S66</string>
     12        <string>6G30</string>
    1313</dict>
    1414</plist>
  • trunk/Cocoa/Pester/Source/English.lproj/Notifier.nib/classes.nib

    r21 r53  
    22    IBClasses = (
    33        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
     4        {CLASS = NJRIntegerFilter; LANGUAGE = ObjC; SUPERCLASS = NSNumberFormatter; },
    45        {
    5             ACTIONS = {close = id; };
     6            CLASS = NJRIntervalField;
     7            LANGUAGE = ObjC;
     8            OUTLETS = {intervalUnits = NSPopUpButton; };
     9            SUPERCLASS = NSTextField;
     10        },
     11        {
     12            ACTIONS = {close = id; snooze = id; stopRepeating = id; };
    613            CLASS = PSAlarmNotifierController;
    714            LANGUAGE = ObjC;
    8             OUTLETS = {dateField = NSTextField; messageField = NSTextField; };
     15            OUTLETS = {
     16                dateField = NSTextField;
     17                intervalField = NSTextField;
     18                messageField = NSTextField;
     19                nextDateField = NSTextField;
     20                okButton = NSButton;
     21                snoozeButton = NSButton;
     22                snoozeIntervalField = NJRIntervalField;
     23            };
    924            SUPERCLASS = NSWindowController;
    1025        }
  • trunk/Cocoa/Pester/Source/English.lproj/Notifier.nib/info.nib

    r43 r53  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
    3 <plist version="0.9">
     2<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     3<plist version="1.0">
    44<dict>
    55        <key>IBDocumentLocation</key>
    6         <string>424 83 356 240 0 0 1280 832 </string>
     6        <string>122 13 356 240 0 0 1280 832 </string>
    77        <key>IBFramework Version</key>
    8         <string>263.2</string>
     8        <string>291.0</string>
    99        <key>IBOpenObjects</key>
    1010        <array>
     
    1212        </array>
    1313        <key>IBSystem Version</key>
    14         <string>5S66</string>
     14        <string>6G30</string>
     15        <key>IBUserGuides</key>
     16        <dict>
     17                <key>5</key>
     18                <dict>
     19                        <key>guideLocations</key>
     20                        <array>
     21                                <string>Horizontal:87.000000</string>
     22                                <string>Horizontal:108.000000</string>
     23                                <string>Horizontal:66.000000</string>
     24                                <string>Vertical:92.000000</string>
     25                                <string>Horizontal:133.000000</string>
     26                        </array>
     27                        <key>guidesLocked</key>
     28                        <false/>
     29                </dict>
     30        </dict>
    1531</dict>
    1632</plist>
  • trunk/Cocoa/Pester/Source/NJRFSObjectSelector.m

    r43 r53  
    11#import "NJRFSObjectSelector.h"
    22#import "NSImage-NJRExtensions.h"
     3#import "NSString-NJRExtensions.h"
    34#include <Carbon/Carbon.h>
    45
     6static NSImage *PopupTriangleImage = nil;
     7static NSSize PopupTriangleSize;
     8
    59@implementation NJRFSObjectSelector
    610
    711- (void)_initSelector;
    812{
     13    if (PopupTriangleImage == nil) {
     14        PopupTriangleImage = [[NSImage imageNamed: @"Popup triangle"] retain];
     15        PopupTriangleSize = [PopupTriangleImage size];
     16    }
    917    canChooseFiles = YES; canChooseDirectories = NO;
    1018    [self setAlias: nil];
     
    4755        [NSBezierPath strokeRect: NSInsetRect(boundsRect, 2, 2)];
    4856    } else if (selectedAlias != nil && [self isEnabled]) {
    49         static NSImage *popupTriangle = nil;
    50         static NSSize imageSize;
    51         if (popupTriangle == nil) {
    52             popupTriangle = [[NSImage imageNamed: @"Popup triangle"] retain];
    53             imageSize = [popupTriangle size];
    54         }
    5557        // equivalent to popup triangle location for large bezel in Carbon
    56         [popupTriangle compositeToPoint: NSMakePoint(NSMaxX(boundsRect) - imageSize.width - 5, NSMaxY(boundsRect) - 5) operation: NSCompositeSourceOver];
     58        [PopupTriangleImage compositeToPoint: NSMakePoint(NSMaxX(boundsRect) - PopupTriangleSize.width - 5, NSMaxY(boundsRect) - 5) operation: NSCompositeSourceOver];
    5759    }
    5860}
     
    130132        NSString *path = [alias fullPath];
    131133        NSString *revealPath = nil;
    132         NSString *targetName = [path lastPathComponent];
    133134        NSMenu *menu = [[NSMenu alloc] initWithTitle: @""];
    134135        NSFileManager *fmgr = [NSFileManager defaultManager];
     
    136137        if (path != nil) { // can resolve alias
    137138            [self setImage: [[NSWorkspace sharedWorkspace] iconForFile: path]];
    138             [self setTitle: targetName];
     139            {   // set image first so titleRectForBounds: returns the correct value
     140                NSMutableString *title = [[fmgr displayNameAtPath: path] mutableCopy];
     141                NSDictionary *fontAttributes = [[self attributedTitle] fontAttributesInRange: NSMakeRange(0, 0)];
     142                [title truncateToWidth: [[self cell] titleRectForBounds: [self bounds]].size.width - PopupTriangleSize.width by: NSLineBreakByTruncatingMiddle withAttributes: fontAttributes];
     143                [self setTitle: title];
     144                [title release];
     145            }
    139146            do {
    140147                item = [menu addItemWithTitle: [fmgr displayNameAtPath: path]
  • trunk/Cocoa/Pester/Source/NJRHistoryTrackingComboBox.m

    r39 r53  
    6060    NSString *newValue = [self stringValue];
    6161    int oldIndex = [self indexOfItemWithObjectValue: newValue];
     62    if ([newValue length] == 0) return YES; // donÕt save empty entries
    6263    [self removeItemWithObjectValue: newValue];
    6364    [self insertItemWithObjectValue: newValue atIndex: 0];
  • trunk/Cocoa/Pester/Source/NJRIntegerFilter.h

    r21 r53  
    77//
    88
    9 #import <AppKit/AppKit.h>
     9#import <Foundation/Foundation.h>
    1010
    1111
  • trunk/Cocoa/Pester/Source/NJRIntegerFilter.m

    r21 r53  
    77//
    88
    9 // based on MyIntegerFilter
    10 // Copyright © 2001 Bill Cheeseman. All rights reserved.
     9// based on MyIntegerFilter, later VRIntegerNumberFilter
     10// Copyright © 2001-2002 Bill Cheeseman. All rights reserved.
    1111
    1212#import "NJRIntegerFilter.h"
     
    1414@implementation NJRIntegerFilter
    1515
    16 // Input filter
     16// Input validation
    1717
    18 - (BOOL)isPartialStringValid:(NSString **)partialStringPtr proposedSelectedRange:(NSRangePointer)proposedSelRangePtr originalString:(NSString *)origString originalSelectedRange:(NSRange)origSelRange errorDescription:(NSString **)error {
    19 
    20     // Override method to enable NSControl delegate method control:didFailToValidatePartialString:errorDescription: to
    21     // reject invalid keypresses. Filters out keyboard input characters other than "1" .. "9".
     18- (BOOL)isPartialStringValid:(NSString **)partialStringPtr proposedSelectedRange:(NSRangePointer)proposedSelRangePtr originalString:(NSString *)origString originalSelectedRange:(NSRange)origSelRange errorDescription:(NSString **)error;
     19{
     20    // Override method to enable NSControl delegate method control:didFailToValidatePartialString:errorDescription: to reject invalid keypresses. Filters out keyboard input characters other than 0..9.
    2221    if ([[*partialStringPtr substringWithRange:NSMakeRange(origSelRange.location, (*proposedSelRangePtr).location - origSelRange.location)] rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet] options:NSLiteralSearch].location != NSNotFound) {
    23         *error = NSLocalizedString(@"Input is not an integer", @"Presented when user value not a numeric digit");
    24         return NO; // Reject *partialStringPtr as typed, invoke delegate method
     22        *error = NSLocalizedString(@"Input is not an integer.", @"Presented when user value not a numeric digit");
     23        return NO; // Reject *partialStringPtr as typed, invoke delegate method for error handling
    2524    }
    26 
    27     if ([*partialStringPtr length] == 0) {
    28         // Work around NSFormatter issue in Mac OS X 10.0.
    29         [[[NSApp keyWindow] fieldEditor:NO forObject:nil] setSelectedRange:*proposedSelRangePtr];
    30     }
    31 
     25    *error = nil;
    3226    return YES; // Accept *partialStringPtr as typed
    3327}
  • trunk/Cocoa/Pester/Source/NJRQTMediaPopUpButton.h

    r41 r53  
    2222
    2323- (BDAlias *)selectedAlias;
     24- (void)setAlias:(BDAlias *)alias;
     25
    2426- (BOOL)canRepeat;
     27
    2528- (IBAction)stopSoundPreview:(id)sender;
    2629
  • trunk/Cocoa/Pester/Source/NJRQTMediaPopUpButton.m

    r47 r53  
    1111#import "NSMovie-NJRExtensions.h"
    1212#import "NSImage-NJRExtensions.h"
     13
     14// XXX workaround for SoundFileManager log message in 10.2.3 and earlier
     15#include <stdio.h>
     16#include <unistd.h>
     17#include <fcntl.h>
     18// XXX end workaround
    1319
    1420static const int NJRQTMediaPopUpButtonMaxRecentItems = 10;
     
    103109#pragma mark initialize-release
    104110
    105 - (void)awakeFromNib;
     111- (void)_setUp;
    106112{
    107113    NSMenu *menu;
     
    145151}
    146152
     153- (id)initWithFrame:(NSRect)frame;
     154{
     155    if ( (self = [super initWithFrame: frame]) != nil) {
     156        [self _setUp];
     157    }
     158    return self;
     159}
     160
     161- (id)initWithCoder:(NSCoder *)coder;
     162{
     163    if ( (self = [super initWithCoder: coder]) != nil) {
     164        [self _setUp];
     165    }
     166    return self;
     167}
     168
    147169- (void)dealloc;
    148170{
     
    171193}
    172194
     195- (void)setAlias:(BDAlias *)alias;
     196{
     197    [self _setAlias: alias];
     198    if ([self _validateWithPreview: NO]) {
     199        [self selectItem: [self _itemForAlias: selectedAlias]];
     200    }
     201}
     202
    173203- (void)_setPath:(NSString *)path;
    174204{
     
    186216    // [self _validateRecentMedia];
    187217    path = [alias fullPath];
    188     sf = [[SoundFileManager sharedSoundFileManager] soundFileFromPath: path];
     218    {   // XXX suppress log message from Apple's code:
     219        // 2002-12-14 14:09:58.740 Pester[26529] Could not find sound type for directory /Users/nicholas/Desktop
     220        int errfd = dup(STDERR_FILENO), nullfd = open("/dev/null", O_WRONLY, 0);
     221        // need to have something open in STDERR_FILENO because if it isn't,
     222        // NSLog will log to /dev/console
     223        dup2(nullfd, STDERR_FILENO);
     224        close(nullfd);
     225        sf = [[SoundFileManager sharedSoundFileManager] soundFileFromPath: path];
     226        dup2(errfd, STDERR_FILENO);
     227        close(errfd);
     228    }
    189229    // NSLog(@"_itemForAlias: %@", path);
    190230
     
    250290            [preview setMovie: nil];
    251291            if (movie == nil) {
    252                 NSBeginAlertSheet(@"Format not recognized", @"OK", nil, nil, [self window], nil, nil, nil, nil, @"The item you selected isnÕt a sound or movie recognized by QuickTime.  Please select a different item.");
     292                NSBeginAlertSheet(@"Format not recognized", nil, nil, nil, [self window], nil, nil, nil, nil, @"The item you selected isnÕt a sound or movie recognized by QuickTime.  Please select a different item.");
    253293                [self _invalidateSelection];
    254294                return NO;
    255295            }
    256296            if (![movie hasAudio] && ![movie hasVideo]) {
    257                 NSBeginAlertSheet(@"No video or audio", @"OK", nil, nil, [self window], nil, nil, nil, nil, @"Ò%@Ó contains neither audio nor video content playable by QuickTime.  Please select a different item.", [[NSFileManager defaultManager] displayNameAtPath: [selectedAlias fullPath]]);
     297                NSBeginAlertSheet(@"No video or audio", nil, nil, nil, [self window], nil, nil, nil, nil, @"Ò%@Ó contains neither audio nor video content playable by QuickTime.  Please select a different item.", [[NSFileManager defaultManager] displayNameAtPath: [selectedAlias fullPath]]);
    258298                [self _invalidateSelection];
    259299                [movie release];
     
    262302        }
    263303        [movie release];
    264         [preview start: self];
     304        if (doPreview) [preview start: self];
    265305    }
    266306    [[NSNotificationCenter defaultCenter] postNotificationName: NJRQTMediaPopUpButtonMovieChangedNotification object: self];
  • trunk/Cocoa/Pester/Source/NJRTableDelegate.m

    r51 r53  
    179179            NSRect columnRect = [superview convertRect: [tableView rectOfColumn: [tableView columnWithIdentifier: sortingKey]] fromView: tableView];
    180180            // XXX support horizontal scroll bar/clipping (not for Pester, but eventually)
    181             NSRect tableScrollFrame = [[tableView enclosingScrollView] frame];
     181            // NSRect tableScrollFrame = [[tableView enclosingScrollView] frame];
    182182            NSRect selectFrame = [typeSelectControl frame];
    183183            [superview setNeedsDisplayInRect: selectFrame]; // fix artifacts caused by moving view
  • trunk/Cocoa/Pester/Source/NJRTableView.h

    r51 r53  
    1111
    1212@interface NJRTableView : NSTableView {
     13    NSMutableDictionary *toolTipRegionList;
    1314    NSMutableString *typed;
    1415    IBOutlet id typeSelectDisplay;
     
    2930
    3031- (void)removeSelectedRowsFromTableView:(NSTableView *)tableView;
     32- (NSString *)tableView:(NSTableView *)aTableView toolTipForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;
    3133
    3234@end
  • trunk/Cocoa/Pester/Source/NJRTableView.m

    r51 r53  
    1717
    1818@implementation NJRTableView
     19
     20- (id)initWithCoder:(NSCoder *)aDecoder;
     21{
     22    if ( (self = [super initWithCoder: aDecoder]) != nil) {
     23        toolTipRegionList = [[NSMutableDictionary alloc] initWithCapacity: 20];
     24    }
     25    return self;
     26}
     27
     28- (void)dealloc;
     29{
     30    [toolTipRegionList release];
     31    [super dealloc];
     32}
     33
     34#pragma mark tool tips
     35
     36- (void)reloadData;
     37{
     38    [toolTipRegionList removeAllObjects];
     39    [self removeAllToolTips];
     40    [super reloadData];
     41}
     42
     43- (void)noteNumberOfRowsChanged;
     44{
     45    [toolTipRegionList removeAllObjects];
     46    [self removeAllToolTips];
     47    [super noteNumberOfRowsChanged];
     48}
     49
     50- (NSString *)_keyForColumn:(int)columnIndex row:(int)rowIndex;
     51{
     52    return [NSString stringWithFormat:@"%d,%d", rowIndex, columnIndex];
     53}
     54
     55- (NSString *)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data;
     56{
     57    // ask our data source for the tool tip
     58    if ([[self dataSource] respondsToSelector: @selector(tableView:toolTipForTableColumn:row:)]) {
     59        if ([self rowAtPoint: point] >= 0) return [[self dataSource] tableView: self toolTipForTableColumn: [[self tableColumns] objectAtIndex: [self columnAtPoint: point]] row: [self rowAtPoint: point]];
     60    }
     61    return nil;
     62}
     63
     64- (NSRect)frameOfCellAtColumn:(int)columnIndex row:(int)rowIndex;
     65{
     66    // this cell is apparently displayed, so we need to add a region for it
     67    NSNumber *toolTipTag;
     68    NSRect result = [super frameOfCellAtColumn: columnIndex row: rowIndex];
     69    // check if cell is already in the list
     70    NSString *cellKey = [self _keyForColumn: columnIndex row: rowIndex];
     71    // remove old region
     72    if (toolTipTag = [toolTipRegionList objectForKey: cellKey])
     73        [self removeToolTip: [toolTipTag intValue]];
     74    // add new region
     75    [toolTipRegionList setObject: [NSNumber numberWithInt: [self addToolTipRect: result owner: self userData: cellKey]] forKey: cellKey];
     76    return [super frameOfCellAtColumn: columnIndex row: rowIndex];
     77}
     78
     79#pragma mark type selection
    1980
    2081- (id)typeSelectDisplay;
  • trunk/Cocoa/Pester/Source/NJRVoicePopUpButton.h

    r42 r53  
    1515}
    1616
     17- (void)setVoice:(NSString *)voice;
     18
     19- (id)delegate;
    1720- (void)setDelegate:(id)delegate;
    18 - (id)delegate;
    1921
    2022- (IBAction)stopVoicePreview:(id)sender;
  • trunk/Cocoa/Pester/Source/NJRVoicePopUpButton.m

    r43 r53  
    6868}
    6969
     70- (void)setVoice:(NSString *)voice;
     71{
     72    int voiceIdx = [self indexOfItemWithTitle: voice];
     73    if (voiceIdx == -1) {
     74        [self _invalidateVoiceSelection];
     75    } else {
     76        [self selectItemAtIndex: voiceIdx];
     77    }
     78}
     79
    7080- (void)_previewVoice;
    7181{
     
    8090
    8191    if ( (err = GetIndVoice(voiceIndex, &voice)) != noErr) {
    82         NSBeginAlertSheet(@"Voice not available", @"OK", nil, nil, [self window], nil, nil, nil, nil, @"The voice Ò%@Ó you selected could not be used.  An error of type %ld occurred while attempting to retrieve voice information.", voiceName, err);
     92        NSBeginAlertSheet(@"Voice not available", nil, nil, nil, [self window], nil, nil, nil, nil, @"The voice Ò%@Ó you selected could not be used.  An error of type %ld occurred while attempting to retrieve voice information.", voiceName, err);
    8393        [self _invalidateVoiceSelection];
    8494        return;
  • trunk/Cocoa/Pester/Source/PSAlarm.h

    r51 r53  
    88
    99#import <Foundation/Foundation.h>
     10#import "PSPropertyListSerialization.h"
    1011
    1112typedef enum {
    12     PSAlarmInvalid, PSAlarmInterval, PSAlarmDate, PSAlarmSet
     13    PSAlarmInvalid, // incorrectly specified
     14    PSAlarmInterval, // interval specified (possibly repeating)
     15    PSAlarmDate, // date specified
     16    PSAlarmSet, // pending, timer set
     17    PSAlarmSnooze, // expired alarm with snooze interval set (possibly repeating)
     18    PSAlarmExpired // expired alarm (possibly repeating)
    1319} PSAlarmType;
    1420
    1521extern NSString * const PSAlarmTimerSetNotification;
    1622extern NSString * const PSAlarmTimerExpiredNotification;
     23extern NSString * const PSAlarmDiedNotification;
    1724
    18 // XXX figure out how to support reading old alarms
     25@class PSAlert, PSAlerts;
    1926
    20 @class PSAlert;
    21 
    22 @interface PSAlarm : NSObject <NSCoding> {
    23     PSAlarmType alarmType;
     27@interface PSAlarm : NSObject <NSCoding, PSPropertyListSerialization> {
     28    PSAlarmType alarmType; // changes during lifetime of alarm; more like a state
    2429    NSCalendarDate *alarmDate;
    2530    NSTimeInterval alarmInterval;
     31    NSTimeInterval snoozeInterval;
     32    NSTimeInterval timeRemaining;
    2633    NSString *alarmMessage;
    2734    NSString *invalidMessage;
    2835    NSTimer *timer;
    29     NSMutableArray *alerts;
     36    PSAlerts *alerts;
     37    BOOL repeating;
    3038}
    3139
     
    3442- (void)setForDate:(NSDate *)date atTime:(NSDate *)time;
    3543- (void)setMessage:(NSString *)aMessage;
    36 - (void)addAlert:(PSAlert *)alert;
    37 - (void)removeAlerts;
     44- (void)setAlerts:(PSAlerts *)theAlerts;
     45- (void)setRepeating:(BOOL)isRepeating;
     46- (void)setSnoozeInterval:(NSTimeInterval)anInterval;
    3847
    3948- (NSCalendarDate *)date;
    4049- (NSCalendarDate *)time;
    4150- (NSTimeInterval)interval;
     51- (NSTimeInterval)timeRemaining;
    4252- (NSString *)message;
    43 - (NSArray *)alerts;
     53- (PSAlerts *)alerts;
     54- (BOOL)isRepeating;
     55- (NSTimeInterval)snoozeInterval; // most recent interval (nonzero return does not indicate alarm is snoozing or set to snooze)
    4456
    4557- (NSString *)dateString;
    4658- (NSString *)shortDateString;
    4759- (NSString *)timeString;
     60- (NSString *)dateTimeString; // current or next alarm time
     61- (NSString *)nextDateTimeString; // next alarm time
     62- (NSString *)intervalString;
    4863- (NSString *)timeRemainingString;
    4964
     
    5166- (NSString *)invalidMessage;
    5267
     68- (NSAttributedString *)prettyDescription;
     69
    5370- (NSComparisonResult)compareDate:(PSAlarm *)otherAlarm;
    5471- (NSComparisonResult)compareMessage:(PSAlarm *)otherAlarm;
    5572
    56 - (BOOL)setTimer;
     73- (BOOL)setTimer; // or die, if expired and no snooze/repeat
    5774- (void)cancelTimer;
    5875
     76// 1.1 only, going away when we move to keyed archiving
     77- (NSDictionary *)propertyListRepresentation;
     78- (id)initWithPropertyList:(NSDictionary *)dict;
     79
    5980@end
  • trunk/Cocoa/Pester/Source/PSAlarm.m

    r51 r53  
    99#import "PSAlarm.h"
    1010#import "PSAlert.h"
     11#import "PSAlerts.h"
    1112#import "NJRDateFormatter.h"
     13#import "NSCalendarDate-NJRExtensions.h"
     14#import "NSDictionary-NJRExtensions.h"
     15#import "NSString-NJRExtensions.h"
    1216
    1317NSString * const PSAlarmTimerSetNotification = @"PSAlarmTimerSetNotification";
    1418NSString * const PSAlarmTimerExpiredNotification = @"PSAlarmTimerExpiredNotification";
     19NSString * const PSAlarmDiedNotification = @"PSAlarmDiedNotification";
     20
     21// property list keys
     22static NSString * const PLAlarmType = @"type"; // NSString
     23static NSString * const PLAlarmDate = @"date"; // NSNumber
     24static NSString * const PLAlarmInterval = @"interval"; // NSNumber
     25static NSString * const PLAlarmSnoozeInterval = @"snooze interval"; // NSNumber
     26static NSString * const PLAlarmMessage = @"message"; // NSString
     27static NSString * const PLAlarmAlerts = @"alerts"; // NSDictionary
     28static NSString * const PLAlarmRepeating = @"repeating"; // NSNumber
    1529
    1630static NSString *dateFormat, *shortDateFormat, *timeFormat;
     
    7286    invalidMessage = nil;
    7387    alarmType = type;
     88    if (type != PSAlarmInterval) [self setRepeating: NO];
    7489}
    7590
    7691- (void)_setDateFromInterval;
    7792{
    78     [alarmDate release]; alarmDate = nil;
    79     alarmDate = [NSCalendarDate dateWithTimeIntervalSinceNow: alarmInterval];
    80     [alarmDate retain];
     93    [self _setAlarmDate: [NSCalendarDate dateWithTimeIntervalSinceNow: alarmInterval]];
    8194    [self _beValidWithType: PSAlarmInterval];
    8295}
     
    8497- (void)_setIntervalFromDate;
    8598{
    86     alarmInterval = [alarmDate timeIntervalSinceNow] + 1;
     99    alarmInterval = [alarmDate timeIntervalSinceNow];
    87100    if (alarmInterval <= 0) {
    88101        [self _beInvalid: @"Please specify an alarm time in the future."];
     
    90103    }
    91104    [self _beValidWithType: PSAlarmDate];
     105}
     106
     107- (PSAlarmType)_alarmTypeForString:(NSString *)string;
     108{
     109    if ([string isEqualToString: @"PSAlarmDate"]) return PSAlarmDate;
     110    if ([string isEqualToString: @"PSAlarmInterval"]) return PSAlarmInterval;
     111    if ([string isEqualToString: @"PSAlarmSet"]) return PSAlarmSet;
     112    if ([string isEqualToString: @"PSAlarmInvalid"]) return PSAlarmInvalid;
     113    if ([string isEqualToString: @"PSAlarmSnooze"]) return PSAlarmSnooze;
     114    if ([string isEqualToString: @"PSAlarmExpired"]) return PSAlarmExpired;
     115    NSLog(@"unknown alarm type string: %@", string);
     116    return nil;
    92117}
    93118
     
    99124        case PSAlarmSet: return @"PSAlarmSet";
    100125        case PSAlarmInvalid: return @"PSAlarmInvalid";
     126        case PSAlarmSnooze: return @"PSAlarmSnooze";
     127        case PSAlarmExpired: return @"PSAlarmExpired";
    101128        default: return [NSString stringWithFormat: @"<unknown: %u>", alarmType];
    102129    }
    103130}
    104131
     132- (NSString *)_stringForInterval:(unsigned long long)interval;
     133{
     134    const unsigned long long minute = 60, hour = minute * 60, day = hour * 24, year = day * 365.26;
     135    // +[NSString stringWithFormat:] in 10.1 does not support long longs: work around it by converting to unsigned ints or longs for display
     136    if (interval == 0) return nil;
     137    if (interval < minute) return [NSString stringWithFormat: @"%us", (unsigned)interval];
     138    if (interval < day) return [NSString stringWithFormat: @"%uh %um", (unsigned)(interval / hour), (unsigned)((interval % hour) / minute)];
     139    if (interval < 2 * day) return @"One day";
     140    if (interval < year) return [NSString stringWithFormat: @"%u days", (unsigned)(interval / day)];
     141    if (interval < 2 * year) return @"One year";
     142    return [NSString stringWithFormat: @"%lu years", (unsigned long)(interval / year)];
     143}
     144
    105145- (void)_timerExpired:(NSTimer *)aTimer;
    106146{
     147    NSLog(@"expired: %@; now %@", [[aTimer fireDate] description], [[NSDate date] description]);
     148    alarmType = PSAlarmExpired;
    107149    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmTimerExpiredNotification object: self];
    108150    [timer release]; timer = nil;
     
    128170- (void)setForDate:(NSDate *)date atTime:(NSDate *)time;
    129171{
    130     NSCalendarDate *calTime, *calDate;
     172    NSCalendarDate *dateTime;
    131173    if (time == nil && date == nil) {
    132174        [self _beInvalid: @"Please specify an alarm date and time."]; return;
     
    139181    }
    140182    // XXX if calTime's date is different from the default date, complain
    141     calTime = [NSCalendarDate dateWithTimeIntervalSinceReferenceDate: [time timeIntervalSinceReferenceDate]];
    142     calDate = [NSCalendarDate dateWithTimeIntervalSinceReferenceDate: [date timeIntervalSinceReferenceDate]];
    143     if (calTime == nil || calDate == nil) {
     183    dateTime = [NSCalendarDate dateWithDate: date atTime: time];
     184    if (dateTime == nil) {
    144185        [self _beInvalid: @"Please specify a reasonable date and time."];
    145186    }
    146     [self setForDateAtTime:
    147         [[[NSCalendarDate alloc] initWithYear: [calDate yearOfCommonEra]
    148                                         month: [calDate monthOfYear]
    149                                           day: [calDate dayOfMonth]
    150                                          hour: [calTime hourOfDay]
    151                                        minute: [calTime minuteOfHour]
    152                                        second: [calTime secondOfMinute]
    153                                      timeZone: nil] autorelease]];
     187    [self setForDateAtTime: dateTime];
     188}
     189
     190- (void)setRepeating:(BOOL)isRepeating;
     191{
     192    repeating = isRepeating;
     193}
     194
     195- (void)setSnoozeInterval:(NSTimeInterval)anInterval;
     196{
     197    snoozeInterval = anInterval;
     198    NSAssert(alarmType == PSAlarmExpired, @"CanÕt snooze an alarm that hasnÕt expired");
     199    alarmType = PSAlarmSnooze;
    154200}
    155201
     
    175221{
    176222    if (alarmType == PSAlarmDate) [self _setIntervalFromDate];
    177     return (alarmType != PSAlarmInvalid);
     223    if (alarmType == PSAlarmInvalid ||
     224        (alarmType == PSAlarmExpired && ![self isRepeating])) return NO;
     225    return YES;
    178226}
    179227
     
    204252- (NSTimeInterval)interval;
    205253{
    206     if (alarmType == PSAlarmSet || alarmType == PSAlarmDate) [self _setIntervalFromDate];
     254    if (alarmType == PSAlarmDate) [self _setIntervalFromDate];
    207255    return alarmInterval;
    208256}
    209257
    210 - (void)addAlert:(PSAlert *)alert;
    211 {
    212     if (alerts == nil) alerts = [[NSMutableArray alloc] initWithCapacity: 4];
    213     [alerts addObject: alert];
    214 }
    215 
    216 - (void)removeAlerts;
    217 {
    218     [alerts removeAllObjects];
    219 }
    220 
    221 - (NSArray *)alerts;
    222 {
    223     return [[alerts copy] autorelease];
     258- (NSTimeInterval)snoozeInterval;
     259{
     260    return snoozeInterval;
     261}
     262
     263- (NSTimeInterval)timeRemaining;
     264{
     265    NSAssert1(alarmType == PSAlarmSet, @"CanÕt get time remaining on alarm with no timer set: %@", self);
     266    return -[[NSDate date] timeIntervalSinceDate: alarmDate];
     267}
     268
     269- (void)setAlerts:(PSAlerts *)theAlerts;
     270{
     271    [alerts release]; alerts = nil;
     272    alerts = [theAlerts retain];
     273}
     274
     275- (PSAlerts *)alerts;
     276{
     277    if (alerts == nil) alerts = [[PSAlerts alloc] init];
     278    return alerts;
     279}
     280
     281- (BOOL)isRepeating;
     282{
     283    return repeating;
    224284}
    225285
     
    239299}
    240300
     301- (NSString *)dateTimeString;
     302{
     303    return [NSString stringWithFormat: @"%@ at %@", [self dateString], [self timeString]];
     304}
     305
     306- (NSString *)nextDateTimeString;
     307{
     308    if (![self isRepeating]) {
     309        return nil;
     310    } else {
     311        NSCalendarDate *date = [[NSCalendarDate alloc] initWithTimeIntervalSinceNow: [self interval]];
     312        NSString *nextDateTimeString = [NSString stringWithFormat: @"%@ at %@",
     313            [date descriptionWithCalendarFormat: dateFormat locale: locale],
     314            [date descriptionWithCalendarFormat: timeFormat locale: locale]];
     315        [date release];
     316        return nextDateTimeString;
     317    }
     318}
     319
     320- (NSString *)intervalString;
     321{
     322    const unsigned long long mval = 99, minute = 60, hour = minute * 60;
     323    unsigned long long interval = [self interval];
     324    if (interval == 0) return nil;
     325    if (interval == 1) return @"One second";
     326    if (interval == minute) return @"One minute";
     327    if (interval % minute == 0) return [NSString stringWithFormat: @"%u minutes", (unsigned)(interval / minute)];
     328    if (interval <= mval) return [NSString stringWithFormat: @"%u seconds", (unsigned)interval];
     329    if (interval == hour) return @"One hour";
     330    if (interval % hour == 0) return [NSString stringWithFormat: @"%u hours", (unsigned)(interval / hour)];
     331    if (interval <= mval * minute) return [NSString stringWithFormat: @"%u minutes", (unsigned)(interval / minute)];
     332    if (interval <= mval * hour) return [NSString stringWithFormat: @"%u hours", (unsigned)(interval / hour)];
     333    return [self _stringForInterval: interval];
     334}
     335
    241336- (NSString *)timeRemainingString;
    242337{
    243     static const unsigned long long minute = 60, hour = minute * 60, day = hour * 24, year = day * 365.26;
    244     unsigned long long interval = [self interval];
    245     // +[NSString stringWithFormat:] in 10.1 does not support long longs: work around it by converting to unsigned ints or longs for display
    246     if (interval == 0) return @"ÇexpiredÈ";
    247     if (interval < minute) return [NSString stringWithFormat: @"%us", (unsigned)interval];
    248     if (interval < day) return [NSString stringWithFormat: @"%uh %um", (unsigned)(interval / hour), (unsigned)((interval % hour) / minute)];
    249     if (interval < year) return [NSString stringWithFormat: @"%u days", (unsigned)(interval / day)];
    250     if (interval < 2 * year) return @"One year";
    251     return [NSString stringWithFormat: @"%lu years", (unsigned long)(interval / year)];
     338    NSString *timeRemainingString = [self _stringForInterval: llround([self timeRemaining])];
     339   
     340    if (timeRemainingString == nil) return @"ÇexpiredÈ";
     341    return timeRemainingString;
     342}
     343
     344- (NSAttributedString *)prettyDescription;
     345{
     346    NSMutableAttributedString *string = [[NSMutableAttributedString alloc] init];
     347    NSAttributedString *alertList = [alerts prettyList];
     348
     349    [string appendAttributedString:
     350        [[NSString stringWithFormat: @"At alarm time for Ò%@Ó:\n", [self message]] small]];
     351    if (alertList != nil) {
     352        [string appendAttributedString: alertList];
     353    } else {
     354        [string appendAttributedString: [@"Do nothing." small]];
     355    }
     356    if ([self isRepeating]) {
     357        [string appendAttributedString:
     358            [[NSString stringWithFormat: @"\nAlarm repeats every %@.", [[self intervalString] lowercaseString]] small]];
     359    }
     360    return [string autorelease];
    252361}
    253362
     
    256365- (BOOL)setTimer;
    257366{
    258     switch (alarmType) {
    259         case PSAlarmDate: if (![self isValid]) return NO;
    260         case PSAlarmInterval:
    261             timer = [NSTimer scheduledTimerWithTimeInterval: alarmInterval target: self selector: @selector(_timerExpired:) userInfo: nil repeats: NO];
    262             if (timer != nil) {
    263                 [timer retain];
    264                 alarmType = PSAlarmSet;
    265                 [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmTimerSetNotification object: self];
    266                 return YES;
    267             }
    268         default:
     367    if (alarmType == PSAlarmExpired) {
     368        if ([self isRepeating]) {
     369            [self _setDateFromInterval];
     370        } else {
     371            [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmDiedNotification object: self];
    269372            return NO;
    270     }
     373        }
     374    } else if (alarmType == PSAlarmDate) {
     375        if (![self isValid]) return NO;
     376    } else if (alarmType == PSAlarmSnooze) {
     377        [self _setAlarmDate: [NSCalendarDate dateWithTimeIntervalSinceNow: snoozeInterval]];
     378    } else if (alarmType != PSAlarmInterval) {
     379        return NO;
     380    }
     381    timer = [NSTimer scheduledTimerWithTimeInterval: (alarmType == PSAlarmSnooze ? snoozeInterval : alarmInterval) target: self selector: @selector(_timerExpired:) userInfo: nil repeats: NO];
     382    if (timer == nil) return NO;
     383    [timer retain];
     384    alarmType = PSAlarmSet;
     385    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmTimerSetNotification object: self];
     386    // NSLog(@"set: %@; now %@; remaining %@", [[timer fireDate] description], [[NSDate date] description], [self timeRemainingString]);
     387    return YES;
    271388}
    272389
     
    274391{
    275392    [timer invalidate]; [timer release]; timer = nil;
     393    [self setRepeating: NO];
    276394}
    277395
     
    300418}
    301419
    302 #pragma mark archiving
     420#pragma mark property list serialization (Pester 1.1)
     421
     422- (NSDictionary *)propertyListRepresentation;
     423{
     424    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity: 5];
     425    if (![self isValid]) return nil;
     426    [dict setObject: [self _alarmTypeString] forKey: PLAlarmType];
     427    switch (alarmType) {
     428        case PSAlarmDate:
     429        case PSAlarmSet:
     430            [dict setObject: [NSNumber numberWithDouble: [alarmDate timeIntervalSinceReferenceDate]] forKey: PLAlarmDate];
     431            break;
     432        case PSAlarmSnooze:
     433        case PSAlarmInterval:
     434        case PSAlarmExpired:
     435            [dict setObject: [NSNumber numberWithDouble: alarmInterval] forKey: PLAlarmInterval];
     436            [dict setObject: [NSNumber numberWithBool: repeating] forKey: PLAlarmRepeating];
     437            break;
     438        default:
     439            NSAssert1(NO, @"CanÕt save alarm type %@", [self _alarmTypeString]);
     440            break;
     441    }
     442    if (snoozeInterval != 0)
     443        [dict setObject: [NSNumber numberWithDouble: snoozeInterval] forKey: PLAlarmSnoozeInterval];
     444    [dict setObject: alarmMessage forKey: PLAlarmMessage];
     445    if (alerts != nil) {
     446        [dict setObject: [alerts propertyListRepresentation] forKey: PLAlarmAlerts];
     447    }
     448    return dict;
     449}
     450
     451- (id)initWithPropertyList:(NSDictionary *)dict;
     452{
     453    if ( (self = [self init]) != nil) {
     454        PSAlerts *alarmAlerts;
     455        alarmType = [self _alarmTypeForString: [dict objectForRequiredKey: PLAlarmType]];
     456        switch (alarmType) {
     457            case PSAlarmDate:
     458            case PSAlarmSet:
     459               { NSCalendarDate *date = [[NSCalendarDate alloc] initWithTimeIntervalSinceReferenceDate: [[dict objectForRequiredKey: PLAlarmDate] doubleValue]];
     460                [self _setAlarmDate: date];
     461                [date release];
     462               }
     463                break;
     464            case PSAlarmSnooze: // snooze interval set but not confirmed; ignore
     465                alarmType = PSAlarmExpired;
     466            case PSAlarmInterval:
     467            case PSAlarmExpired:
     468                alarmInterval = [[dict objectForRequiredKey: PLAlarmInterval] doubleValue];
     469                repeating = [[dict objectForRequiredKey: PLAlarmRepeating] boolValue];
     470                break;
     471            default:
     472                NSAssert1(NO, @"CanÕt load alarm type %@", [self _alarmTypeString]);
     473                break;
     474        }
     475        snoozeInterval = [[dict objectForKey: PLAlarmSnoozeInterval] doubleValue];
     476        [self setMessage: [dict objectForRequiredKey: PLAlarmMessage]];
     477        alarmAlerts = [[PSAlerts alloc] initWithPropertyList: [dict objectForRequiredKey: PLAlarmAlerts]];
     478        [self setAlerts: alarmAlerts];
     479        [alarmAlerts release];
     480        if (alarmType == PSAlarmSet) {
     481            alarmType = PSAlarmDate;
     482            [self setTimer];
     483        }
     484        if (alarmType == PSAlarmExpired) {
     485            [self setTimer];
     486            if (alarmType == PSAlarmExpired) { // failed to restart
     487                [self release];
     488                self = nil;
     489            }
     490        }
     491    }
     492    return self;
     493}
     494
     495#pragma mark archiving (Pester 1.0)
    303496
    304497- (void)encodeWithCoder:(NSCoder *)coder;
     
    324517- (id)initWithCoder:(NSCoder *)coder;
    325518{
    326     if ( (self = [super init]) != nil) {
     519    if ( (self = [self init]) != nil) {
     520        PSAlerts *legacyAlerts = [[PSAlerts alloc] initWithPesterVersion1Alerts];
     521        [self setAlerts: legacyAlerts];
     522        [legacyAlerts release];
    327523        [coder decodeValueOfObjCType: @encode(PSAlarmType) at: &alarmType];
    328524        switch (alarmType) {
  • trunk/Cocoa/Pester/Source/PSAlarmAlertController.h

    r34 r53  
    1313
    1414@interface PSAlarmAlertController : NSObject {
    15 
     15    NSMutableSet *pendingAlerts;
     16    ProcessSerialNumber frontmostApp;
     17    BOOL appWasHidden;
    1618}
    1719
  • trunk/Cocoa/Pester/Source/PSAlarmAlertController.m

    r40 r53  
    88
    99#import "PSAlarmAlertController.h"
     10#import "PSAlert.h"
     11#import "PSAlerts.h"
    1012
    1113NSString * const PSAlarmAlertStopNotification = @"PSAlarmAlertStopNotification";
     
    2325}
    2426
     27- (void)_resumeAlarm:(PSAlarm *)alarm;
     28{
     29    [[NSNotificationCenter defaultCenter] removeObserver: self];
     30    [alarm setTimer]; // if snooze not set and not repeating, alarm will die
     31    if (frontmostApp.highLongOfPSN != 0 || frontmostApp.lowLongOfPSN != 0) {
     32        SetFrontProcess(&frontmostApp);
     33        if (appWasHidden)
     34            [NSApp hide: self];
     35    }
     36}
     37
     38- (void)_alertCompleted:(NSNotification *)notification;
     39{
     40    PSAlert *alert = [[notification userInfo] objectForKey: @"alert"];
     41    unsigned count = [pendingAlerts count];
     42    [pendingAlerts removeObject: alert];
     43    NSLog(@"removed: %@; still pending: %@", alert, [pendingAlerts description]);
     44    NSLog(@"alarm: %@ retainCount %d", [notification object], [[notification object] retainCount]);
     45    NSAssert2([pendingAlerts count] == count - 1, @"alert not in set: %@\n%@", alert, notification);
     46    if ([pendingAlerts count] == 0) {
     47        [self _resumeAlarm: [notification object]];
     48        [self release];
     49    }
     50}
     51
    2552- (id)initWithAlarm:(PSAlarm *)alarm;
    2653{
    2754    if ( (self = [super init]) != nil) {
    28         [[alarm alerts] makeObjectsPerformSelector: @selector(triggerForAlarm:)
    29                                         withObject: alarm];
    30         [NSApp activateIgnoringOtherApps: YES];
     55        PSAlerts *alerts = [alarm alerts];
     56        NSArray *allAlerts = [alerts allAlerts];
     57        if ([allAlerts count] == 0) {
     58            [self _resumeAlarm: alarm];
     59        } else {
     60            pendingAlerts = [[NSMutableSet alloc] init];
     61            [pendingAlerts addObjectsFromArray: allAlerts];
     62            [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alertCompleted:)
     63                                                         name: PSAlarmAlertCompletedNotification object: alarm];
     64            [self retain]; // release in _alertCompleted:
     65        }
     66        [alerts triggerForAlarm: alarm];
     67        if ([alerts requirePesterFrontmost] && ![NSApp isActive]) { // restore frontmost process afterward
     68            NSDictionary *activeProcessInfo = [[NSWorkspace sharedWorkspace] activeApplication];
     69            frontmostApp.highLongOfPSN = [[activeProcessInfo objectForKey: @"NSApplicationProcessSerialNumberHigh"] longValue];
     70            frontmostApp.lowLongOfPSN = [[activeProcessInfo objectForKey: @"NSApplicationProcessSerialNumberLow"] longValue];
     71            appWasHidden = [NSApp isHidden];
     72            [NSApp activateIgnoringOtherApps: YES];
     73        }
    3174    }
    3275    return self;
    3376}
    3477
     78- (void)dealloc;
     79{
     80    NSLog(@"%@ dealloc", self);
     81    [pendingAlerts release];
     82    [super dealloc];
     83}
     84
    3585@end
  • trunk/Cocoa/Pester/Source/PSAlarmNotifierController.h

    r34 r53  
    99#import <AppKit/AppKit.h>
    1010
     11@class NJRIntervalField;
    1112@class PSAlarm;
    1213
     
    1415    IBOutlet NSTextField *messageField;
    1516    IBOutlet NSTextField *dateField;
     17    IBOutlet NSTextField *intervalField;
     18    IBOutlet NSTextField *nextDateField;
     19    IBOutlet NJRIntervalField *snoozeIntervalField;
     20    IBOutlet NSButton *okButton;
     21    IBOutlet NSButton *snoozeButton;
     22    NSTimer *updateTimer;
     23    PSAlarm *alarm;
     24    BOOL canSnooze;
    1625}
    1726
    18 - (id)initWithAlarm:(PSAlarm *)alarm;
     27- (id)initWithAlarm:(PSAlarm *)anAlarm;
    1928
    20 - (IBAction)close:(NSButton *)sender;
     29- (IBAction)close:(id)sender;
     30- (IBAction)snooze:(NSButton *)sender;
     31- (IBAction)stopRepeating:(NSButton *)sender;
    2132
    2233@end
  • trunk/Cocoa/Pester/Source/PSAlarmNotifierController.m

    r43 r53  
    1010#import "PSAlarmAlertController.h"
    1111#import "PSAlarm.h"
     12#import "PSNotifierAlert.h"
     13#import "NJRIntervalField.h"
     14
     15static NSString * const PSAlarmSnoozeInterval = @"Pester alarm snooze interval"; // NSUserDefaults key
     16
     17@interface PSAlarmNotifierController (Private)
     18
     19- (void)update:(id)sender;
     20- (void)updateNextDateDisplay:(id)sender;
     21
     22@end
    1223
    1324@implementation PSAlarmNotifierController
     
    1526// XXX should use NSNonactivatingPanelMask on 10.2
    1627
    17 - (id)initWithAlarm:(PSAlarm *)alarm;
     28- (id)initWithAlarm:(PSAlarm *)anAlarm;
    1829{
    1930    if ([self initWithWindowNibName: @"Notifier"]) {
    20         [[self window] center];
     31        NSWindow *window = [self window];
     32        NSRect frameRect = [window frame];
     33        alarm = [anAlarm retain];
    2134        [messageField setStringValue: [alarm message]];
    22         [dateField setStringValue:
    23             [NSString stringWithFormat: @"%@ at %@", [alarm dateString], [alarm timeString]]];
    24         [[self window] makeKeyAndOrderFront: nil];
    25         [[self window] orderFrontRegardless];
     35        [dateField setStringValue: [alarm dateTimeString]];
     36        if (![snoozeIntervalField setInterval: [alarm snoozeInterval]] &&
     37            ![snoozeIntervalField setInterval: [[[NSUserDefaults standardUserDefaults] objectForKey: PSAlarmSnoozeInterval] doubleValue]])
     38            [snoozeIntervalField setInterval: 15 * 60]; // 15 minutes
     39        if ([alarm isRepeating]) {
     40            [intervalField setStringValue:
     41                [NSString stringWithFormat: @"every %@", [[alarm intervalString] lowercaseString]]];
     42            [self updateNextDateDisplay: nil];
     43            updateTimer = [NSTimer scheduledTimerWithTimeInterval: 1 target: self selector: @selector(updateNextDateDisplay:) userInfo: nil repeats: YES];
     44            frameRect.size = [window maxSize];
     45        } else {
     46            frameRect.size = [window minSize];
     47        }
     48        [window setFrame: frameRect display: NO];
     49        [window center];
     50        [window makeKeyAndOrderFront: nil];
     51        [window orderFrontRegardless];
    2652    }
    2753    return self;
     54}
     55
     56- (void)dealloc;
     57{
     58    [alarm release];
     59    [updateTimer invalidate]; updateTimer = nil;
     60    [super dealloc];
     61}
     62
     63- (void)updateNextDateDisplay:(id)sender;
     64{
     65    if (!canSnooze) {
     66        NSString *nextDateTimeString = [alarm nextDateTimeString];
     67        if (nextDateTimeString == nil) { // no longer repeating
     68            [updateTimer invalidate]; updateTimer = nil;
     69        } else {
     70            [nextDateField setStringValue: nextDateTimeString];
     71        }
     72    }
     73}
     74
     75- (void)update:(id)sender;
     76{
     77    canSnooze = [snoozeIntervalField interval] != 0;
     78    if (canSnooze) [nextDateField setStringValue: @"after snooze"];
     79    [snoozeButton setEnabled: canSnooze];
     80    [canSnooze ? snoozeButton : okButton setKeyEquivalent: @"\r"];
     81    [canSnooze ? okButton : snoozeButton setKeyEquivalent: @""];
    2882}
    2983
     
    3286    [PSAlarmAlertController stopAlerts: sender];
    3387    [self close];
     88    [[PSNotifierAlert alert] completedForAlarm: alarm];
     89}
     90
     91- (IBAction)snooze:(NSButton *)sender;
     92{
     93    NSTimeInterval snoozeInterval = [snoozeIntervalField interval];
     94    [alarm setSnoozeInterval: snoozeInterval];
     95    [[NSUserDefaults standardUserDefaults] setObject: [NSNumber numberWithDouble: snoozeInterval] forKey: PSAlarmSnoozeInterval];
     96    [self close: sender];
     97}
     98
     99- (IBAction)stopRepeating:(NSButton *)sender;
     100{
     101    NSWindow *window = [self window];
     102    NSRect frameRect = [window frame];
     103    NSSize newSize = [window minSize];
     104   
     105    [alarm setRepeating: NO];
     106    [sender setEnabled: NO];
     107    frameRect.origin.y += frameRect.size.height - newSize.height;
     108    frameRect.size = newSize;
     109    [window setFrame: frameRect display: YES animate: YES];
    34110}
    35111
    36112@end
     113
     114@implementation PSAlarmNotifierController (NSControlSubclassDelegate)
     115
     116- (BOOL)control:(NSControl *)control didFailToFormatString:(NSString *)string errorDescription:(NSString *)error;
     117{
     118    if (control == snoozeIntervalField)
     119        [snoozeIntervalField handleDidFailToFormatString: string errorDescription: error label: @"snooze interval"];
     120    return NO;
     121}
     122
     123- (void)control:(NSControl *)control didFailToValidatePartialString:(NSString *)string errorDescription:(NSString *)error;
     124{
     125    // NSLog(@"UPDATING FROM validation");
     126    [self update: control]; // switch to snooze if someone types something weird...
     127}
     128
     129- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector;
     130{
     131    // NSLog(@"UPDATING from textView: %@", NSStringFromSelector(commandSelector));
     132    if (commandSelector == @selector(cancel:)) {
     133        // if someone just wants the stupid thing to go away and presses escape, donÕt hinder them
     134        [self close: control];
     135        return YES;
     136    }
     137    // if someone invokes the default button or switches fields, donÕt override it
     138    if (commandSelector == @selector(insertNewline:) ||
     139        commandSelector == @selector(insertTab:) ||
     140        commandSelector == @selector(insertBacktab:)) return NO;
     141    [self update: control]; // ...or if they type a navigation key...
     142    return NO; // we donÕt handle it
     143}
     144
     145@end
     146
     147@implementation PSAlarmNotifierController (NSControlSubclassNotifications)
     148
     149- (void)controlTextDidChange:(NSNotification *)notification;
     150{
     151    // NSLog(@"UPDATING FROM controlTextDidChange: %@", [notification object]);
     152    [self update: [notification object]]; // ...or if they modify the snooze interval
     153}
     154
     155@end
     156
     157@implementation PSAlarmNotifierController (NSWindowNotifications)
     158
     159- (void)windowWillClose:(NSNotification *)notification;
     160{
     161    // canÕt rely on dealloc to invalidate the timer, because it retains this object
     162    [updateTimer invalidate]; updateTimer = nil;
     163    [self release]; // in non-document-based apps, this is needed; see docs
     164}
     165
     166@end
  • trunk/Cocoa/Pester/Source/PSAlarmSetController.h

    r41 r53  
    1111
    1212@class NJRFSObjectSelector;
     13@class NJRIntervalField;
    1314@class NJRQTMediaPopUpButton;
    1415@class NJRVoicePopUpButton;
     
    1718    IBOutlet NSTextField *messageField;
    1819    IBOutlet NSMatrix *inAtMatrix;
    19     IBOutlet NSTextField *timeInterval;
     20    IBOutlet NJRIntervalField *timeInterval;
    2021    IBOutlet NSPopUpButton *timeIntervalUnits;
    2122    IBOutlet NSButton *timeIntervalRepeats;
     
    2324    IBOutlet NSTextField *timeDate;
    2425    IBOutlet NSPopUpButton *timeDateCompletions; // XXX should go away when bug preventing both formatters and popup menus from existing is fixed
     26    IBOutlet NSButtonCell *editAlert;
     27    IBOutlet NSTextField *alertView;
     28    IBOutlet NSTabView *alertTabs;
    2529    IBOutlet NSButtonCell *displayMessage;
    2630    IBOutlet NSButton *bounceDockIcon;
     
    3539    IBOutlet NJRVoicePopUpButton *voice;
    3640    IBOutlet NSButton *scriptSelectButton;
     41    IBOutlet NSButtonCell *wakeUp;
    3742    IBOutlet NSTextField *timeSummary;
     43    IBOutlet NSButton *cancelButton;
    3844    IBOutlet NSButton *setButton;
    3945    NSString *status;
     
    4652- (IBAction)dateCompleted:(NSPopUpButton *)sender;
    4753- (IBAction)inAtChanged:(id)sender;
     54- (IBAction)editAlertChanged:(id)sender;
    4855- (IBAction)playSoundChanged:(id)sender;
    4956- (IBAction)doScriptChanged:(id)sender;
  • trunk/Cocoa/Pester/Source/PSAlarmSetController.m

    r51 r53  
    99#import "PSAlarmSetController.h"
    1010#import "PSAlarmAlertController.h"
     11#import "PSPowerManager.h"
    1112#import "NJRDateFormatter.h"
    1213#import "NJRFSObjectSelector.h"
     14#import "NJRIntervalField.h"
    1315#import "NJRQTMediaPopUpButton.h"
    1416#import "NJRVoicePopUpButton.h"
     17#import "NSString-NJRExtensions.h"
     18#import "NSAttributedString-NJRExtensions.h"
     19#import "NSCalendarDate-NJRExtensions.h"
    1520#import <Carbon/Carbon.h>
    1621
     22#import "PSAlerts.h"
    1723#import "PSDockBounceAlert.h"
    1824#import "PSScriptAlert.h"
     
    3844¥ If you feed NSCalendarDate dateWithNaturalLanguageString: an " AM"/" PM" locale, it doesn't accept that date format.
    3945¥ descriptions for %X and %x are reversed (time zone is in %X, not %x)
     46¥ NSComboBox data source issues, canÕt have it appear as ÒtodayÓ because the formatter doesnÕt like that.  Should be able to enter text into the data source and have the formatter process it without altering it.
    4047¥ too hard to implement date-only or time-only formatters
    4148¥ should be able to specify that natural language favors date or time (10 = 10th of month, not 10am)
     
    4451*/
    4552
     53static NSString * const PSAlertsSelected = @"Pester alerts selected"; // NSUserDefaults key
     54static NSString * const PSAlertsEditing = @"Pester alerts editing"; // NSUserDefaults key
     55
    4656@interface PSAlarmSetController (Private)
    4757
     58- (void)_readAlerts:(PSAlerts *)alerts;
     59- (BOOL)_setAlerts;
    4860- (void)_stopUpdateTimer;
    4961
     
    5466- (void)awakeFromNib;
    5567{
     68    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    5669    alarm = [[PSAlarm alloc] init];
    5770    [[self window] center];
     
    6073    [timeDate setFormatter: [[NJRDateFormatter alloc] initWithDateFormat: [NJRDateFormatter localizedDateFormatIncludingWeekday: NO] allowNaturalLanguage: YES]];
    6174    {
    62         NSArray *dayNames = [[NSUserDefaults standardUserDefaults] arrayForKey:
     75        NSArray *dayNames = [defaults arrayForKey:
    6376            NSWeekDayNameArray];
    6477        NSArray *completions = [timeDateCompletions itemTitles];
     
    8396        }
    8497    }
     98    [editAlert setIntValue: [defaults boolForKey: PSAlertsEditing]];
     99    {
     100        NSDictionary *plAlerts = [defaults dictionaryForKey: PSAlertsSelected];
     101        PSAlerts *alerts;
     102        if (plAlerts == nil) {
     103            alerts = [[PSAlerts alloc] initWithPesterVersion1Alerts];
     104        } else {
     105            NS_DURING
     106                alerts = [[PSAlerts alloc] initWithPropertyList: plAlerts];
     107            NS_HANDLER
     108                NSRunAlertPanel(@"Unable to restore alerts", @"Pester could not restore recent alert information for one or more alerts in the Set Alarm window.  The default set of alerts will be used instead.\n\n%@", nil, nil, nil, [localException reason]);
     109                alerts = [[PSAlerts alloc] initWithPesterVersion1Alerts];
     110            NS_ENDHANDLER
     111        }
     112        [self _readAlerts: alerts];
     113    }
    85114    [timeDate setObjectValue: [NSDate date]];
    86     [self inAtChanged: nil];
     115    [self inAtChanged: nil]; // by convention, if sender is nil, we're initializing
    87116    [self playSoundChanged: nil];
    88117    [self doScriptChanged: nil];
    89118    [self doSpeakChanged: nil];
     119    [self editAlertChanged: nil];
    90120    [script setFileTypes: [NSArray arrayWithObjects: @"applescript", @"script", NSFileTypeForHFSTypeCode(kOSAFileType), NSFileTypeForHFSTypeCode('TEXT'), nil]];
    91121    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(silence:) name: PSAlarmAlertStopNotification object: nil];
    92122    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(playSoundChanged:) name: NJRQTMediaPopUpButtonMovieChangedNotification object: sound];
    93     [voice setDelegate: self];
    94     // XXX still broken under 10.2, check 10.1 behavior and see if subclassing NSComboBox will help
    95     // if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_1) {
    96         // XXX workaround for 10.1.x bug which sets the first responder to the wrong field, but it works if I set the initial first responder to nil... go figure.
    97         [[self window] setInitialFirstResponder: nil];
    98     // }
     123    [voice setDelegate: self]; // XXX why don't we do this in IB?  It should use the accessor...
     124    [wakeUp setEnabled: [PSPowerManager autoWakeSupported]];
     125    // XXX workaround for 10.1.x and 10.2.x bug which sets the first responder to the wrong field alternately, but it works if I set the initial first responder to nil... go figure.
     126    [[self window] setInitialFirstResponder: nil];
    99127    [[self window] makeKeyAndOrderFront: nil];
    100128}
     
    110138}
    111139
     140// XXX with -[NSControl currentEditor] don't need to compare?  Also check -[NSControl validateEditing]
    112141- (id)objectValueForTextField:(NSTextField *)field whileEditing:(id)sender;
    113142{
     
    124153}
    125154
     155#pragma mark date/interval setting
     156
    126157- (void)setAlarmDateAndInterval:(id)sender;
    127158{
    128159    if (isInterval) {
    129         [alarm setInterval:
    130             [[self objectValueForTextField: timeInterval whileEditing: sender] intValue] *
    131                 [timeIntervalUnits selectedTag]];
     160        [alarm setInterval: [timeInterval interval]];
    132161    } else {
    133162        [alarm setForDate: [self objectValueForTextField: timeDate whileEditing: sender]
     
    141170}
    142171
    143 // XXX use OACalendar?
     172// XXX use OACalendar in popup like Palm Desktop?
    144173
    145174- (IBAction)updateDateDisplay:(id)sender;
     
    193222    [timeDateCompletions setEnabled: !isInterval];
    194223    if (sender != nil)
    195         [[self window] makeFirstResponder: isInterval ? timeInterval : timeOfDay];
     224        [[self window] makeFirstResponder: isInterval ? (NSTextField *)timeInterval : timeOfDay];
    196225    // NSLog(@"UPDATING FROM inAtChanged");
    197226    [self update: nil];
    198227}
     228
     229- (IBAction)dateCompleted:(NSPopUpButton *)sender;
     230{
     231    [timeDate setStringValue: [sender titleOfSelectedItem]];
     232    [self update: sender];
     233}
     234
     235#pragma mark alert editing
     236
     237- (IBAction)editAlertChanged:(id)sender;
     238{
     239    BOOL editAlertSelected = [editAlert intValue];
     240    NSView *editAlertControl = [editAlert controlView];
     241    NSWindow *window = [self window];
     242    NSRect frame = [window frame];
     243    if (editAlertSelected) {
     244        NSSize editWinSize = [window maxSize];
     245        [editAlertControl setNextKeyView: [displayMessage controlView]];
     246        frame.origin.y += frame.size.height - editWinSize.height;
     247        frame.size = editWinSize;
     248        [window setFrame: frame display: (sender != nil) animate: (sender != nil)];
     249        [self updateDateDisplay: sender];
     250        [alertTabs selectTabViewItemWithIdentifier: @"edit"];
     251    } else {
     252        NSSize viewWinSize = [window minSize];
     253        NSRect textFrame = [alertView frame];
     254        float textHeight;
     255        if (![self _setAlerts]) {
     256            [alertView setStringValue: [NSString stringWithFormat: @"CouldnÕt process alert information.\n%@", status]];
     257        } else {
     258            NSAttributedString *string = [[alarm alerts] prettyList];
     259            if (string == nil) {
     260                [alertView setStringValue: @"Do nothing. Click the button labeled ÒEditÓ to add an alert."];
     261            } else {
     262                [alertView setAttributedStringValue: string];
     263                [self updateDateDisplay: sender];
     264            }
     265        }
     266        if (sender != nil) { // nil == we're initializing, don't mess with focus
     267            NSResponder *oldResponder = [window firstResponder];
     268            // make sure focus doesn't get stuck in the edit tab: it is confusing and leaves behind artifacts
     269            if (oldResponder == editAlertControl || [oldResponder isKindOfClass: [NSView class]] && [(NSView *)oldResponder isDescendantOf: alertTabs])
     270                [window makeFirstResponder: messageField]; // would use editAlertControl, but can't get it to display anomaly-free.
     271            [self silence: sender];
     272        }
     273        // allow height to expand, though not arbitrarily (should still fit on an 800x600 screen)
     274        textHeight = [[alertView cell] cellSizeForBounds: NSMakeRect(0, 0, textFrame.size.width, 400)].height;
     275        textFrame.origin.y += textFrame.size.height - textHeight;
     276        textFrame.size.height = textHeight;
     277        [alertView setFrame: textFrame];
     278        viewWinSize.height += textHeight;
     279        [alertTabs selectTabViewItemWithIdentifier: @"view"];
     280        frame.origin.y += frame.size.height - viewWinSize.height;
     281        frame.size = viewWinSize;
     282        [window setFrame: frame display: (sender != nil) animate: (sender != nil)];
     283        [editAlertControl setNextKeyView: cancelButton];
     284    }
     285    if (sender != nil) {
     286        [[NSUserDefaults standardUserDefaults] setBool: editAlertSelected forKey: PSAlertsEditing];
     287    }
     288}
     289
    199290
    200291- (IBAction)playSoundChanged:(id)sender;
     
    206297    [soundRepetitionStepper setEnabled: canRepeat];
    207298    [soundRepetitionsLabel setTextColor: canRepeat ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
    208     if (playSoundSelected && sender != nil)
     299    if (playSoundSelected && sender == playSound) {
    209300        [[self window] makeFirstResponder: sound];
     301    }
    210302}
    211303
     
    234326    [script setEnabled: doScriptSelected];
    235327    [scriptSelectButton setEnabled: doScriptSelected];
    236     if (doScriptSelected && sender != nil)
     328    if (doScriptSelected && sender != nil) {
    237329        [[self window] makeFirstResponder: scriptSelectButton];
     330        if ([script alias] == nil) [scriptSelectButton performClick: sender];
     331    }
    238332}
    239333
    240334- (IBAction)doSpeakChanged:(id)sender;
    241335{
    242     BOOL doSpeakSelected = [doSpeak intValue];
     336    BOOL doSpeakSelected = [doSpeak state] == NSOnState;
    243337    [voice setEnabled: doSpeakSelected];
    244338    if (doSpeakSelected && sender != nil)
     
    246340}
    247341
    248 - (IBAction)dateCompleted:(NSPopUpButton *)sender;
    249 {
    250     [timeDate setStringValue: [sender titleOfSelectedItem]];
    251     [self update: sender];
    252 }
     342- (void)_readAlerts:(PSAlerts *)alerts;
     343{
     344    NSEnumerator *e = [alerts alertEnumerator];
     345    PSAlert *alert;
     346   
     347    [alarm setAlerts: alerts];
     348
     349    // turn off all alerts
     350    [bounceDockIcon setState: NSOffState];
     351    [doScript setIntValue: NO];
     352    [displayMessage setIntValue: NO];
     353    [playSound setIntValue: NO];
     354    [doSpeak setIntValue: NO];
     355
     356    while ( (alert = [e nextObject]) != nil) {
     357        if ([alert isKindOfClass: [PSDockBounceAlert class]]) {
     358            [bounceDockIcon setState: NSOnState];
     359        } else if ([alert isKindOfClass: [PSScriptAlert class]]) {
     360            [doScript setIntValue: YES];
     361            [script setAlias: [(PSScriptAlert *)alert scriptFileAlias]];
     362        } else if ([alert isKindOfClass: [PSNotifierAlert class]]) {
     363            [displayMessage setIntValue: YES];
     364        } else if ([alert isKindOfClass: [PSBeepAlert class]]) {
     365            unsigned int repetitions = [(PSBeepAlert *)alert repetitions];
     366            [playSound setIntValue: YES];
     367            [sound setAlias: nil];
     368            [soundRepetitions setIntValue: repetitions];
     369            [soundRepetitionStepper setIntValue: repetitions];
     370        } else if ([alert isKindOfClass: [PSMovieAlert class]]) {
     371            unsigned int repetitions = [(PSMovieAlert *)alert repetitions];
     372            [playSound setIntValue: YES];
     373            [sound setAlias: [(PSMovieAlert *)alert movieFileAlias]];
     374            [soundRepetitions setIntValue: repetitions];
     375            [soundRepetitionStepper setIntValue: repetitions];
     376        } else if ([alert isKindOfClass: [PSSpeechAlert class]]) {
     377            [doSpeak setIntValue: YES];
     378            [voice setVoice: [(PSSpeechAlert *)alert voice]];
     379        }
     380    }
     381}
     382
     383- (BOOL)_setAlerts;
     384{
     385    PSAlerts *alerts = [alarm alerts];
     386   
     387    [alerts removeAlerts];
     388    NS_DURING
     389        // dock bounce alert
     390        if ([bounceDockIcon state] == NSOnState)
     391            [alerts addAlert: [PSDockBounceAlert alert]];
     392        // script alert
     393        if ([doScript intValue]) {
     394            BDAlias *scriptFileAlias = [script alias];
     395            if (scriptFileAlias == nil) {
     396                [self setStatus: @"Unable to set script alert (no script specified?)"];
     397                return NO;
     398            }
     399            [alerts addAlert: [PSScriptAlert alertWithScriptFileAlias: scriptFileAlias]];
     400        }
     401        // notifier alert
     402        if ([displayMessage intValue])
     403            [alerts addAlert: [PSNotifierAlert alert]];
     404        // sound alerts
     405        if ([playSound intValue]) {
     406            BDAlias *soundAlias = [sound selectedAlias];
     407            unsigned short numReps = [soundRepetitions intValue];
     408            if (soundAlias == nil) // beep alert
     409                [alerts addAlert: [PSBeepAlert alertWithRepetitions: numReps]];
     410            else // movie alert
     411                [alerts addAlert: [PSMovieAlert alertWithMovieFileAlias: soundAlias repetitions: numReps]];
     412        }
     413        // speech alert
     414        if ([doSpeak intValue])
     415            [alerts addAlert: [PSSpeechAlert alertWithVoice: [voice titleOfSelectedItem]]];
     416        [[NSUserDefaults standardUserDefaults] setObject: [alerts propertyListRepresentation] forKey: PSAlertsSelected];
     417    NS_HANDLER
     418        [self setStatus: [localException reason]];
     419        NS_VALUERETURN(NO, BOOL);
     420    NS_ENDHANDLER
     421    return YES;
     422}
     423
     424#pragma mark actions
    253425
    254426// to ensure proper updating of interval, this should be the only method by which the window is shown (e.g. from the Alarm menu)
     
    256428{
    257429    if (![[self window] isVisible]) {
     430        NSDate *today = [NSCalendarDate dateForDay: [NSDate date]];
     431        if ([(NSDate *)[timeDate objectValue] compare: today] == NSOrderedAscending) {
     432            [timeDate setObjectValue: today];
     433        }
    258434        [self update: self];
    259         // XXX otherwise, first responder appears to alternate every time the window is shown?!  And if you set the initial first responder, you can't tab in the window. :(
     435        // XXX bug workaround - otherwise, first responder appears to alternate every time the window is shown.  And if you set the initial first responder, you can't tab in the window. :(
    260436        [[self window] makeFirstResponder: [[self window] initialFirstResponder]];
    261437    }
     
    266442{
    267443    // set alerts before setting alarm...
    268     [alarm removeAlerts];
    269     // dock bounce alert
    270     if ([bounceDockIcon state] == NSOnState)
    271         [alarm addAlert: [PSDockBounceAlert alert]];
    272     // script alert
    273     if ([doScript intValue]) {
    274         BDAlias *scriptFileAlias = [script alias];
    275         if (scriptFileAlias == nil) {
    276             [self setStatus: @"Unable to set script alert (no script specified?)"];
    277             return;
    278         }
    279         [alarm addAlert: [PSScriptAlert alertWithScriptFileAlias: scriptFileAlias]];
    280     }
    281     // notifier alert
    282     if ([displayMessage intValue])
    283         [alarm addAlert: [PSNotifierAlert alert]];
    284     // sound alerts
    285     if ([playSound intValue]) {
    286         BDAlias *soundAlias = [sound selectedAlias];
    287         unsigned short numReps = [soundRepetitions intValue];
    288         if (soundAlias == nil) // beep alert
    289             [alarm addAlert: [PSBeepAlert alertWithRepetitions: numReps]];
    290         else // movie alert
    291             [alarm addAlert: [PSMovieAlert alertWithMovieFileAlias: soundAlias repetitions: numReps]];
    292     }
    293     // speech alert
    294     if ([doSpeak intValue])
    295         [alarm addAlert: [PSSpeechAlert alertWithVoice: [voice titleOfSelectedItem]]];
     444    if (![self _setAlerts]) return;
    296445
    297446    // set alarm
    298447    [self setAlarmDateAndInterval: sender];
     448    [alarm setRepeating: [timeIntervalRepeats state] == NSOnState];
    299449    [alarm setMessage: [messageField stringValue]];
    300450    if (![alarm setTimer]) {
     
    319469@implementation PSAlarmSetController (NSControlSubclassDelegate)
    320470
     471- (BOOL)control:(NSControl *)control didFailToFormatString:(NSString *)string errorDescription:(NSString *)error;
     472{
     473    if (control == timeInterval)
     474        [timeInterval handleDidFailToFormatString: string errorDescription: error label: @"alarm interval"];
     475    return NO;
     476}
     477
    321478- (void)control:(NSControl *)control didFailToValidatePartialString:(NSString *)string errorDescription:(NSString *)error;
    322479{
    323     unichar c;
    324     int tag;
    325     unsigned length = [string length];
    326     if (control != timeInterval || length == 0) return;
    327     c = [string characterAtIndex: length - 1];
    328     switch (c) {
    329         case 's': case 'S': tag = 1; break;
    330         case 'm': case 'M': tag = 60; break;
    331         case 'h': case 'H': tag = 60 * 60; break;
    332         default: return;
    333     }
    334     [timeIntervalUnits selectItemAtIndex:
    335         [timeIntervalUnits indexOfItemWithTag: tag]];
    336480    // NSLog(@"UPDATING FROM validation");
    337     [self update: timeInterval]; // make sure we still examine the field editor, otherwise if the existing numeric string is invalid, it'll be cleared
     481    if (control == timeInterval) [self update: timeInterval]; // make sure we still examine the field editor, otherwise if the existing numeric string is invalid, it'll be cleared
    338482}
    339483
     
    347491    [self silence: nil];
    348492    [self _stopUpdateTimer];
     493    [self _setAlerts];
    349494}
    350495
     
    367512- (NSString *)voicePopUpButton:(NJRVoicePopUpButton *)sender previewStringForVoice:(NSString *)voice;
    368513{
    369     return [messageField stringValue];
     514    NSString *message = [messageField stringValue];
     515    if (message == nil || [message length] == 0)
     516        message = [alarm message];
     517    return message;
    370518}
    371519
  • trunk/Cocoa/Pester/Source/PSAlarms.h

    r51 r53  
    88
    99#import <Cocoa/Cocoa.h>
     10#import "PSPropertyListSerialization.h"
    1011
    1112extern NSString * const PSAlarmsDidChangeNotification;
     
    1415@class PSAlarm;
    1516
    16 @interface PSAlarms : NSObject {
     17@interface PSAlarms : NSObject <PSPropertyListSerialization> {
    1718    NSMutableArray *alarms;
     19    NSMutableSet *expiredAlarms;
    1820    PSAlarm *nextAlarm;
    1921}
     
    2224+ (PSAlarms *)allAlarms;
    2325
     26- (unsigned)countOfVersion1Alarms;
     27- (void)importVersion1Alarms;
     28- (void)discardVersion1Alarms;
     29
    2430- (NSArray *)alarms;
     31
    2532- (PSAlarm *)nextAlarm;
    2633- (int)alarmCount;
  • trunk/Cocoa/Pester/Source/PSAlarms.m

    r51 r53  
    99#import "PSAlarms.h"
    1010#import "PSAlarm.h"
     11#import "NSDictionary-NJRExtensions.h"
     12
     13NSString * const PSAlarmImportException = @"PSAlarmImportException";
    1114
    1215NSString * const PSAlarmsDidChangeNotification = @"PSAlarmsDidChangeNotification";
    1316NSString * const PSAlarmsNextAlarmDidChangeNotification = @"PSAlarmsNextAlarmDidChangeNotification";
    1417
    15 static NSString * const PSPendingAlarms = @"Pester pending alarms"; // NSUserDefaults key
     18// NSUserDefaults key
     19static NSString * const PSPendingAlarms = @"Pester pending alarms"; // 1.0 Ð 1.1a3
     20static NSString * const PSAllAlarms = @"Pester alarms"; // 1.1a4 Ð
     21
     22// property list keys
     23static NSString * const PLAlarmsPending = @"pending";
     24static NSString * const PLAlarmsExpired = @"expired";
    1625
    1726static PSAlarms *PSAlarmsAllAlarms = nil;
     
    2837{
    2938    if (PSAlarmsAllAlarms == nil) {
    30         PSAlarmsAllAlarms = [[self alloc] init];
     39        NSDictionary *plAlarms = [[NSUserDefaults standardUserDefaults] objectForKey: PSAllAlarms];
     40        if (plAlarms == nil) {
     41            PSAlarmsAllAlarms = [[self alloc] init];
     42        } else {
     43            PSAlarmsAllAlarms = [[self alloc] initWithPropertyList: plAlarms];
     44        }
    3145        [PSAlarmsAllAlarms _updateNextAlarm]; // only generate notifications after singleton established
    3246    }
     
    3751    NSAssert(PSAlarmsAllAlarms != nil, @"Attempt to use +[PSAlarms allAlarms] before setup complete");
    3852    return PSAlarmsAllAlarms;
     53}
     54
     55#pragma mark private
     56
     57- (void)_changed;
     58{
     59    NSMutableArray *alarmsData = [[NSMutableArray alloc] init];
     60    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     61    [self _updateNextAlarm];
     62    // NSLog(@"PSAlarms _changed:\n%@", alarms);
     63    [defaults setObject: [self propertyListRepresentation] forKey: PSAllAlarms];
     64    [defaults synchronize];
     65    [alarmsData release];
     66    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmsDidChangeNotification object: self];
     67}
     68
     69- (void)_alarmTimerExpired:(NSNotification *)notification;
     70{
     71    PSAlarm *alarm = [notification object];
     72    NSLog(@"timer expired: %@ retainCount %d", alarm, [alarm retainCount]);
     73    [expiredAlarms addObject: alarm];
     74    NSLog(@"expired alarms: %@", [expiredAlarms description]);
     75    [alarms removeObject: alarm];
     76    [self _changed];
     77}
     78
     79- (void)_alarmTimerSet:(NSNotification *)notification;
     80{
     81    PSAlarm *alarm = [notification object];
     82    NSLog(@"timer set: %@ retainCount %d", alarm, [alarm retainCount]);
     83    [alarms addObject: alarm];
     84    [expiredAlarms removeObject: alarm];
     85    [self _changed];
     86}
     87
     88- (void)_alarmDied:(NSNotification *)notification;
     89{
     90    PSAlarm *alarm = [notification object];
     91    NSLog(@"alarm died: %@ retainCount %d", alarm, [alarm retainCount]);
     92    [alarms removeObject: alarm];
     93    [expiredAlarms removeObject: alarm];
     94    [self _changed];
    3995}
    4096
     
    59115}
    60116
     117- (void)_setUpNotifications;
     118{
     119    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerSet:) name: PSAlarmTimerSetNotification object: nil];
     120    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerExpired:) name: PSAlarmTimerExpiredNotification object: nil];
     121    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmDied:) name: PSAlarmDiedNotification object: nil];
     122}
     123
     124#pragma mark initialize-release
     125
    61126- (id)init;
    62127{
    63128    if ( (self = [super init]) != nil) {
    64129        alarms = [[NSMutableArray alloc] init];
    65         NS_DURING
    66             NSArray *alarmsData = [[NSUserDefaults standardUserDefaults] arrayForKey: PSPendingAlarms];
    67             NSEnumerator *e = [alarmsData objectEnumerator];
    68             NSData *alarmData;
    69             PSAlarm *alarm;
    70             while ( (alarmData = [e nextObject]) != nil) {
    71                 alarm = [NSUnarchiver unarchiveObjectWithData: alarmData];
    72                 if (alarm != nil)
    73                     [alarms addObject: alarm];
    74             }
    75         NS_HANDLER
    76             // XXX need better error handling here, don't stomp on data
    77             NSLog(@"An error occurred while attempting to restore the alarm list: %@", localException);
    78         NS_ENDHANDLER
    79         [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerSet:) name: PSAlarmTimerSetNotification object: nil];
    80         [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_alarmTimerExpired:) name: PSAlarmTimerExpiredNotification object: nil];
     130        expiredAlarms = [[NSMutableSet alloc] init];
     131        [self _setUpNotifications];
    81132    }
    82133    return self;
     
    86137{
    87138    [alarms release];
     139    [expiredAlarms release];
    88140    [[NSNotificationCenter defaultCenter] removeObserver: self];
    89141    [super dealloc];
    90142}
    91143
    92 - (void)_changed;
    93 {
    94     NSMutableArray *alarmsData = [[NSMutableArray alloc] init];
    95     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    96     NSEnumerator *e;
    97     PSAlarm *alarm;
    98     [self _updateNextAlarm];
    99     // NSLog(@"PSAlarms _changed:\n%@", alarms);
    100     // archive
    101     e = [alarms objectEnumerator];
    102     while ( (alarm = [e nextObject]) != nil) {
    103         [alarmsData addObject: [NSArchiver archivedDataWithRootObject: alarm]];
    104     }
    105     [defaults setObject: alarmsData forKey: PSPendingAlarms];
    106     [defaults synchronize];
    107     [alarmsData release];
    108     [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmsDidChangeNotification object: self];
    109 }
    110 
    111 - (void)_alarmTimerExpired:(NSNotification *)notification;
    112 {
    113     [alarms removeObject: [notification object]];
    114     [self _changed];
    115 }
    116 
    117 - (void)_alarmTimerSet:(NSNotification *)notification;
    118 {
    119     [alarms addObject: [notification object]];
    120     [self _changed];
     144#pragma mark accessing
     145
     146- (NSArray *)alarms;
     147{
     148    return alarms;
    121149}
    122150
     
    124152{
    125153    return nextAlarm;
    126 }
    127 
    128 - (NSArray *)alarms;
    129 {
    130     return alarms;
    131154}
    132155
     
    185208}
    186209
     210#pragma mark property list serialization (Pester 1.1)
     211
     212- (NSDictionary *)propertyListRepresentation;
     213{
     214    NSMutableArray *plPendingAlarms = [[NSMutableArray alloc] initWithCapacity: [alarms count]];
     215    NSMutableArray *plExpiredAlarms = [[NSMutableArray alloc] initWithCapacity: [expiredAlarms count]];
     216    NSDictionary *plAllAlarms, *plAlarm;
     217    NSEnumerator *e;
     218    PSAlarm *alarm;
     219
     220    e = [alarms objectEnumerator];
     221    while ( (alarm = [e nextObject]) != nil) {
     222        plAlarm = [alarm propertyListRepresentation];
     223        if (plAlarm != nil)
     224            [plPendingAlarms addObject: plAlarm];
     225    }
     226
     227    e = [expiredAlarms objectEnumerator];
     228    while ( (alarm = [e nextObject]) != nil) {
     229        plAlarm = [alarm propertyListRepresentation];
     230        if (plAlarm != nil)
     231            [plExpiredAlarms addObject: plAlarm];
     232    }
     233   
     234    plAllAlarms = [NSDictionary dictionaryWithObjectsAndKeys:
     235        plPendingAlarms, PLAlarmsPending, plExpiredAlarms, PLAlarmsExpired, nil];
     236    [plPendingAlarms release];
     237    [plExpiredAlarms release];
     238   
     239    return plAllAlarms;
     240}
     241
     242- (id)initWithPropertyList:(NSDictionary *)dict;
     243{
     244    if ( (self = [super init]) != nil) {
     245        NSArray *plPendingAlarms = [dict objectForRequiredKey: PLAlarmsPending];
     246        NSArray *plExpiredAlarms = [dict objectForRequiredKey: PLAlarmsExpired];
     247        NSEnumerator *e;
     248        NSDictionary *plAlarm;
     249        PSAlarm *alarm;
     250
     251        alarms = [[NSMutableArray alloc] initWithCapacity: [plPendingAlarms count]];
     252        e = [plPendingAlarms objectEnumerator];
     253        while ( (plAlarm = [e nextObject]) != nil) {
     254            [alarms addObject: [[PSAlarm alloc] initWithPropertyList: plAlarm]];
     255        }
     256
     257        e = [plExpiredAlarms objectEnumerator];
     258        while ( (plAlarm = [e nextObject]) != nil) {
     259            // expired alarms may be just that, or they may have outstanding repeats - if the latter, PSAlarm will reschedule the alarm.
     260            if ( (alarm = [[PSAlarm alloc] initWithPropertyList: plAlarm]) != nil)
     261                [alarms addObject: alarm];
     262        }
     263        expiredAlarms = [[NSMutableSet alloc] init];
     264       
     265        [self _setUpNotifications];
     266    }
     267    return self;
     268}
     269
     270#pragma mark archiving (Pester 1.0)
     271
     272- (unsigned)countOfVersion1Alarms;
     273{
     274    return [[[NSUserDefaults standardUserDefaults] objectForKey: PSPendingAlarms] count];
     275}
     276
     277- (void)discardVersion1Alarms;
     278{
     279    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     280    [defaults removeObjectForKey: PSPendingAlarms];
     281    [defaults synchronize];
     282}
     283
     284- (void)importVersion1Alarms;
     285{
     286    NSArray *alarmsData = [[NSUserDefaults standardUserDefaults] arrayForKey: PSPendingAlarms];
     287    NSEnumerator *e = [alarmsData objectEnumerator];
     288    NSData *alarmData;
     289    PSAlarm *alarm;
     290    while ( (alarmData = [e nextObject]) != nil) {
     291        NS_DURING
     292            alarm = [NSUnarchiver unarchiveObjectWithData: alarmData];
     293        NS_HANDLER
     294            alarm = nil;
     295            // XXX
     296        NS_ENDHANDLER
     297        if (alarm != nil)
     298            [alarms addObject: alarm];
     299    }
     300}
     301
    187302@end
  • trunk/Cocoa/Pester/Source/PSAlarmsController.m

    r51 r53  
    99#import "PSAlarmsController.h"
    1010#import "PSAlarm.h"
     11#import "PSAlerts.h"
    1112#import "NSTableView-NJRExtensions.h"
    1213#import "NJRTableView.h"
     
    8283}
    8384
     85- (NSString *)tableView:(NSTableView *)aTableView toolTipForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;
     86{
     87    PSAlarm *alarm = [reorderedAlarms objectAtIndex: rowIndex];
     88
     89    return [[alarm prettyDescription] string];
     90}
     91
    8492@end
    8593
  • trunk/Cocoa/Pester/Source/PSAlert.h

    r34 r53  
    99#import <Foundation/Foundation.h>
    1010#import "PSAlarm.h"
     11#import "PSPropertyListSerialization.h"
     12#import "NSString-NJRExtensions.h"
    1113
    12 @interface PSAlert : NSObject {
     14extern NSString * const PSAlertCreationException;
    1315
     16extern NSString * const PSAlarmAlertCompletedNotification; // userInfo key: "alert" -> PSAlert
     17
     18@interface PSAlert : NSObject <PSPropertyListSerialization> {
     19   
    1420}
    15 
    16 // XXX need archiving support
    1721
    1822// subclasses should implement these methods
    1923+ (PSAlert *)alert;
    2024- (void)triggerForAlarm:(PSAlarm *)alarm;
     25- (BOOL)requiresPesterFrontmost;
     26
     27- (NSAttributedString *)actionDescription;
     28
     29// after alert completes, invoke method of superclass
     30- (void)completedForAlarm:(PSAlarm *)alarm;
    2131
    2232@end
  • trunk/Cocoa/Pester/Source/PSAlert.m

    r34 r53  
    88
    99#import "PSAlert.h"
     10#import "NSDictionary-NJRExtensions.h"
    1011
     12NSString * const PSAlertCreationException = @"PSAlertCreationException";
     13
     14NSString * const PSAlarmAlertCompletedNotification = @"PSAlarmAlertCompletedNotification";
     15
     16// property list keys
     17static NSString * const PLAlertClass = @"class"; // NSString
    1118
    1219@implementation PSAlert
     
    2330}
    2431
     32- (BOOL)requiresPesterFrontmost;
     33{
     34    return NO;
     35}
     36
     37- (void)completedForAlarm:(PSAlarm *)alarm;
     38{
     39    [[NSNotificationCenter defaultCenter] postNotificationName: PSAlarmAlertCompletedNotification object: alarm userInfo: [NSDictionary dictionaryWithObject: self forKey: @"alert"]];
     40}
     41
     42- (NSAttributedString *)actionDescription;
     43{
     44    NSAssert(NO, @"Class is abstract");
     45    return nil;
     46}
     47
     48#pragma mark property list serialization (Pester 1.1)
     49
     50- (NSDictionary *)propertyListRepresentation;
     51{
     52    return [NSDictionary dictionaryWithObject: NSStringFromClass([self class]) forKey: PLAlertClass];
     53}
     54
     55- (id)initWithPropertyList:(NSDictionary *)dict;
     56{
     57    if ( (self = [self init]) != nil) {
     58        IMP myImp = [self methodForSelector: _cmd];
     59        NSString *clsString = [dict objectForRequiredKey: PLAlertClass];
     60        Class cls = NSClassFromString(clsString);
     61        NSAssert1(cls != nil, @"Alert class %@ is not available", clsString);
     62        [super release];
     63        self = [cls alloc];
     64        if (self != nil) {
     65            IMP subImp = [self methodForSelector: @selector(initWithPropertyList:)];
     66            NSAssert1(subImp != myImp, @"No implementation of initWithPropertyList: for alert class %@", clsString);
     67            self = [self initWithPropertyList: dict];
     68        }
     69    }
     70    return self;
     71}
     72
    2573@end
  • trunk/Cocoa/Pester/Source/PSApplication.m

    r34 r53  
    2121    [[NSNotificationCenter defaultCenter] addObserver: [PSAlarmAlertController class] selector: @selector(controllerWithTimerExpiredNotification:) name: PSAlarmTimerExpiredNotification object: nil];
    2222    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(nextAlarmDidChange:) name: PSAlarmsNextAlarmDidChangeNotification object: nil];
     23    // XXX exception handling
    2324    [PSAlarms setUp];
    2425    [self setDelegate: self];
     
    7172{
    7273    PSAlarm *alarm = [timer userInfo];
    73     NSTimeInterval alarmInterval;
     74    NSTimeInterval timeRemaining;
    7475    NSString *tileString;
    7576    if (timer == nil) alarm = [[PSAlarms allAlarms] nextAlarm];
    7677    if (alarm == nil) return;
    7778    tileString = [alarm timeRemainingString];
     79    timeRemaining = [alarm timeRemaining]; // want to err on the side of timeRemaining being smaller, otherwise ÇexpiredÈ can appear
    7880    {
    7981        NSMutableDictionary *atts = [NSMutableDictionary dictionary];
     
    117119        [tile release];
    118120    }
    119     alarmInterval = [alarm interval];
    120     // NSLog(@"_updateDockTile > time remaining %@ (%.0lf), last time interval %.0lf", tileString, alarmInterval, dockUpdateInterval);
    121     if (alarmInterval > 61) {
    122         NSTimeInterval nextUpdate = ((unsigned long long)alarmInterval) % 60;
     121    // NSLog(@"_updateDockTile > time remaining %@ (%.6lf), last time interval %.6lf", tileString, timeRemaining, dockUpdateInterval);
     122    if (timeRemaining > 61) {
     123        NSTimeInterval nextUpdate = ((unsigned long long)timeRemaining) % 60;
    123124        if (nextUpdate <= 1) nextUpdate = 60;
    124125        [self _resetUpdateTimer];
     
    126127        // NSLog(@"_updateDockTile > set timer for %.0lf seconds", nextUpdate);
    127128    } else if (timer == nil || dockUpdateInterval > 1) {
    128         [self _resetUpdateTimer];
     129        [self _resetUpdateTimer]; 
    129130        [self _setUpdateTimerForInterval: 1 alarm: alarm repeats: YES];
    130131        // NSLog(@"_updateDockTile > set timer for 1 second");
    131     } else if (alarmInterval < 2) {
     132    } else if (timeRemaining <= 1) {
    132133        [self _resetUpdateTimer];
    133134    }
     
    182183@implementation PSApplication (NSApplicationNotifications)
    183184
     185- (void)applicationDidFinishLaunching:(NSNotification *)notification;
     186{
     187    // XXX import panel will not be frontmost window if you switch to another app while Pester is launching; Mac OS X bug?
     188    PSAlarms *allAlarms = [PSAlarms allAlarms];
     189    unsigned version1AlarmCount = [allAlarms countOfVersion1Alarms];
     190    if (version1AlarmCount > 0) {
     191        int answer = NSRunAlertPanel(@"Import alarms from older Pester version?", @"Pester found %u alarm%@ created with an older version. These alarms must be converted for use with this version of Pester, and will be unavailable in previous versions after conversion. New alarms created with this version of Pester will not appear in Pester version 1.1a3 or earlier.",
     192                                     @"Import", @"Discard", @"DonÕt Import",
     193                                     version1AlarmCount, version1AlarmCount == 1 ? @"" : @"s");
     194        switch (answer) {
     195            case NSAlertDefaultReturn:
     196                NS_DURING
     197                    [allAlarms importVersion1Alarms];
     198                NS_HANDLER
     199                    NSRunAlertPanel(@"Error occurred importing alarms", @"Pester was unable to convert some alarms created with an older version. Those alarms which could be read have been converted. The previous-format alarms have been retained; try using an older version of Pester to read them.\n\n%@", nil, nil, nil, [localException reason]);
     200                    NS_VOIDRETURN;
     201                NS_ENDHANDLER
     202            case NSAlertAlternateReturn:
     203                NSLog(@"discard");
     204                // [allAlarms discardVersion1Alarms];
     205                break;
     206            case NSAlertOtherReturn:
     207                NSLog(@"donÕt import");
     208                break;
     209        }
     210    }
     211}
     212
    184213- (void)applicationWillTerminate:(NSNotification *)notification;
    185214{
  • trunk/Cocoa/Pester/Source/PSBeepAlert.h

    r34 r53  
    99#import "PSAlert.h"
    1010
    11 
    1211@interface PSBeepAlert : PSAlert {
     12    PSAlarm *alarm;
    1313    unsigned short repetitions;
    14     unsigned short repetitionsRemaining;   
     14    unsigned short repetitionsRemaining;
    1515}
    1616
     
    1818- (id)initWithRepetitions:(unsigned short)numReps;
    1919
     20- (unsigned short)repetitions;
     21
    2022@end
  • trunk/Cocoa/Pester/Source/PSBeepAlert.m

    r34 r53  
    1010#import "PSBeepAlert.h"
    1111#import "PSAlarmAlertController.h"
     12#import "NSDictionary-NJRExtensions.h"
     13
     14// property list keys
     15static NSString * const PLAlertRepetitions = @"times"; // NSNumber
    1216
    1317@implementation PSBeepAlert
     
    3236}
    3337
     38- (unsigned short)repetitions;
     39{
     40    return repetitions;
     41}
     42
    3443- (void)beep;
    3544{
     
    3746    repetitionsRemaining--;
    3847    if (repetitionsRemaining == 0) {
     48        [self completedForAlarm: alarm];
    3949        [self release];
    4050        return;
     
    4858}
    4959
    50 - (void)triggerForAlarm:(PSAlarm *)alarm;
     60- (void)triggerForAlarm:(PSAlarm *)anAlarm;
    5161{
     62    alarm = anAlarm;
    5263    repetitionsRemaining = repetitions;
    5364    [self retain];
     
    5667}
    5768
     69- (NSAttributedString *)actionDescription;
     70{
     71    return [[@"Play the system alert sound" stringByAppendingString:
     72                                            repetitions == 1 ? @"" : [NSString stringWithFormat: @" %hu times", repetitions]] small];
     73}
     74
     75#pragma mark property list serialization (Pester 1.1)
     76
     77- (NSDictionary *)propertyListRepresentation;
     78{
     79    NSMutableDictionary *plAlert = [[super propertyListRepresentation] mutableCopy];
     80    [plAlert setObject: [NSNumber numberWithUnsignedShort: repetitions] forKey: PLAlertRepetitions];
     81    return [plAlert autorelease];
     82}
     83
     84- (id)initWithPropertyList:(NSDictionary *)dict;
     85{
     86    return [self initWithRepetitions: [[dict objectForRequiredKey: PLAlertRepetitions] unsignedShortValue]];
     87}
     88
    5889@end
  • trunk/Cocoa/Pester/Source/PSDockBounceAlert.m

    r40 r53  
    3030    [NSApp requestUserAttention: NSInformationalRequest];
    3131    [[self class] performSelector: @selector(stopBouncing) withObject: nil afterDelay: 1 inModes: [NSArray arrayWithObject: NSDefaultRunLoopMode]];
     32    [self completedForAlarm: alarm];
    3233}
    3334
     35- (NSAttributedString *)actionDescription;
     36{
     37    return [@"Bounce dock icon" small];
     38}
     39
     40#pragma mark property list serialization (Pester 1.1)
     41
     42- (id)initWithPropertyList:(NSDictionary *)dict;
     43{
     44    [self release];
     45    return [[PSDockBounceAlert alert] retain];
     46}
     47       
    3448@end
  • trunk/Cocoa/Pester/Source/PSMovieAlert.h

    r34 r53  
    99#import <AppKit/AppKit.h>
    1010#import "PSAlert.h"
    11 #import "BDAlias.h"
    1211
     12@class BDAlias;
    1313
    1414@interface PSMovieAlert : PSAlert {
     
    2222+ (PSMovieAlert *)alertWithMovieFileAlias:(BDAlias *)anAlias repetitions:(unsigned short)numReps;
    2323
    24 - (id)initWithAlias:(BDAlias *)anAlias repetitions:(unsigned int) numReps;
     24- (id)initWithMovieFileAlias:(BDAlias *)anAlias repetitions:(unsigned int) numReps;
    2525
    2626- (BOOL)hasVideo;
    2727- (NSMovie *)movie;
     28- (BDAlias *)movieFileAlias;
    2829- (unsigned short)repetitions;
    2930
  • trunk/Cocoa/Pester/Source/PSMovieAlert.m

    r45 r53  
    1010#import "PSMovieAlert.h"
    1111#import "PSMovieAlertController.h"
     12#import "NSDictionary-NJRExtensions.h"
    1213#import "NSMovie-NJRExtensions.h"
     14#import "BDAlias.h"
     15
     16// property list keys
     17static NSString * const PLAlertRepetitions = @"times"; // NSString
     18static NSString * const PLAlertAlias = @"alias"; // NSData
    1319
    1420@implementation PSMovieAlert
     
    1622+ (PSMovieAlert *)alertWithMovieFileAlias:(BDAlias *)anAlias repetitions:(unsigned short)numReps;
    1723{
    18     return [[[self alloc] initWithAlias: anAlias repetitions: numReps] autorelease];
     24    return [[[self alloc] initWithMovieFileAlias: anAlias repetitions: numReps] autorelease];
    1925}
    2026
    21 - (id)initWithAlias:(BDAlias *)anAlias repetitions:(unsigned int) numReps;
     27- (id)initWithMovieFileAlias:(BDAlias *)anAlias repetitions:(unsigned int) numReps;
    2228{
    2329    if ( (self = [super init]) != nil) {
     30        NSString *path = [anAlias fullPath];
     31        if (path == nil) {
     32            [self release];
     33            [NSException raise: PSAlertCreationException format: @"CanÕt locate media to play as alert."];
     34        }
    2435        alias = [anAlias retain];
    2536        repetitions = numReps;
    26         movie = [[NSMovie alloc] initWithURL: [NSURL fileURLWithPath: [anAlias fullPath]] byReference: YES];
     37        movie = [[NSMovie alloc] initWithURL: [NSURL fileURLWithPath: path] byReference: YES];
    2738        if (movie == nil) {
    2839            [self release];
     
    4657}
    4758
     59- (BOOL)requiresPesterFrontmost;
     60{
     61    return hasVideo;
     62}
     63
    4864- (NSMovie *)movie;
    4965{
    5066    return movie;
     67}
     68
     69- (BDAlias *)movieFileAlias;
     70{
     71    return alias;
    5172}
    5273
     
    7394}
    7495
     96- (NSAttributedString *)actionDescription;
     97{
     98    BOOL isStatic = [movie isStatic];
     99    NSMutableAttributedString *string = [[(isStatic ? @"Show " : @"Play ") small] mutableCopy];
     100    NSString *kindString = nil, *name = [alias displayNameWithKindString: &kindString];
     101    if (name == nil) name = @"ÇcanÕt locate media fileÈ";
     102    else [string appendAttributedString: [[NSString stringWithFormat: @"%@ ", kindString] small]];
     103    [string appendAttributedString: [name underlined]];
     104    if (repetitions > 1 && !isStatic) {
     105        [string appendAttributedString: [[NSString stringWithFormat: @" %hu times", repetitions] small]];
     106    }
     107    return [string autorelease];
     108}
     109
     110#pragma mark property list serialization (Pester 1.1)
     111
     112- (NSDictionary *)propertyListRepresentation;
     113{
     114    NSMutableDictionary *plAlert = [[super propertyListRepresentation] mutableCopy];
     115    [plAlert setObject: [NSNumber numberWithUnsignedShort: repetitions] forKey: PLAlertRepetitions];
     116    [plAlert setObject: [alias aliasData] forKey: PLAlertAlias];
     117    return [plAlert autorelease];
     118}
     119
     120- (id)initWithPropertyList:(NSDictionary *)dict;
     121{
     122    return [self initWithMovieFileAlias: [BDAlias aliasWithData: [dict objectForRequiredKey: PLAlertAlias]]
     123                            repetitions: [[dict objectForRequiredKey: PLAlertRepetitions] unsignedShortValue]];
     124}
     125
    75126@end
  • trunk/Cocoa/Pester/Source/PSMovieAlertController.h

    r34 r53  
    1313
    1414@interface PSMovieAlertController : NSWindowController {
     15    PSAlarm *alarm;
     16    PSMovieAlert *alert;
    1517    IBOutlet NSMovieView *movieView;
    1618    void *theMovie; /* Movie */
     
    1921}
    2022
    21 + (PSMovieAlertController *)controllerWithAlarm:(PSAlarm *)alarm movieAlert:(PSMovieAlert *)alert;
     23+ (PSMovieAlertController *)controllerWithAlarm:(PSAlarm *)anAlarm movieAlert:(PSMovieAlert *)anAlert;
    2224
    23 - (id)initWithAlarm:(PSAlarm *)alarm movieAlert:(PSMovieAlert *)alert;
     25- (id)initWithAlarm:(PSAlarm *)anAlarm movieAlert:(PSMovieAlert *)anAlert;
    2426
    2527@end
  • trunk/Cocoa/Pester/Source/PSMovieAlertController.m

    r45 r53  
    1717@implementation PSMovieAlertController
    1818
    19 + (PSMovieAlertController *)controllerWithAlarm:(PSAlarm *)alarm movieAlert:(PSMovieAlert *)alert;
     19+ (PSMovieAlertController *)controllerWithAlarm:(PSAlarm *)anAlarm movieAlert:(PSMovieAlert *)anAlert;
    2020{
    21     return [[self alloc] initWithAlarm: alarm movieAlert: alert];
     21    return [[self alloc] initWithAlarm: anAlarm movieAlert: anAlert];
    2222}
    2323
     
    3939}
    4040
    41 - (id)initWithAlarm:(PSAlarm *)alarm movieAlert:(PSMovieAlert *)alert;
     41- (id)initWithAlarm:(PSAlarm *)anAlarm movieAlert:(PSMovieAlert *)anAlert;
    4242{
    4343    if ([self initWithWindowNibName: @"Movie alert"]) {
    44         NSMovie *movie = [alert movie];
     44        NSMovie *movie = [anAlert movie];
    4545        NSWindow *window = [self window]; // connect outlets
     46        alarm = anAlarm;
     47        alert = anAlert;
    4648        [movieView setMovie: movie];
    4749        theMovie = [movie QTMovie];
     
    6769            [window setFrame: frame display: NO];
    6870            [window setTitle: [alarm message]];
     71            {   // XXX workaround for (IMO) ugly appearance of Cocoa utility windows
     72                NSView *miniButton = [window standardWindowButton: NSWindowMiniaturizeButton],
     73                *zoomButton = [window standardWindowButton: NSWindowZoomButton];
     74                // NOTE: this will not work if the window is resizable: when the frame is reset, the standard buttons reappear
     75                [miniButton setFrameOrigin: NSMakePoint(-100, -100)];
     76                [zoomButton setFrameOrigin: NSMakePoint(-100, -100)];
     77                [[miniButton superview] setNeedsDisplay: YES];
     78                [[zoomButton superview] setNeedsDisplay: YES];
     79            }
    6980            [[self window] orderFrontRegardless];
    7081        }
     
    91102    repetitions = 0;
    92103    [movieView stop: self];
    93     [self release];
     104    [alert completedForAlarm: alarm];
     105    [self autorelease];
    94106    // note: there may still be a retained copy of this object until the runloop timer has let go of us at the end of the current movie playback cycle; donÕt worry about it.
    95107}
  • trunk/Cocoa/Pester/Source/PSNotifierAlert.m

    r34 r53  
    2626}
    2727
     28- (BOOL)requiresPesterFrontmost;
     29{
     30    return YES;
     31}
     32
     33- (NSAttributedString *)actionDescription;
     34{
     35    return [@"Display message and time" small];
     36}
     37
     38#pragma mark property list serialization (Pester 1.1)
     39
     40- (id)initWithPropertyList:(NSDictionary *)dict;
     41{
     42    [self release];
     43    return [[PSNotifierAlert alert] retain];
     44}
     45
    2846@end
  • trunk/Cocoa/Pester/Source/PSScriptAlert.h

    r34 r53  
    1818- (id)initWithScriptFileAlias:(BDAlias *)anAlias;
    1919
     20- (BDAlias *)scriptFileAlias;
     21
    2022@end
  • trunk/Cocoa/Pester/Source/PSScriptAlert.m

    r34 r53  
    99#import "PSScriptAlert.h"
    1010#import "BDAlias.h"
    11 #import "NDAppleScriptObject.h"
     11// XXX remove #import "NDAppleScriptObject.h"
     12#import "NSDictionary-NJRExtensions.h"
     13
     14// property list keys
     15static NSString * const PLAlertAlias = @"alias"; // NSData
    1216
    1317@implementation PSScriptAlert
     
    2630}
    2731
     32- (BDAlias *)scriptFileAlias;
     33{
     34    return alias;
     35}
     36
    2837- (void)triggerForAlarm:(PSAlarm *)alarm;
    2938{
    30     NDAppleScriptObject *as = [NDAppleScriptObject appleScriptObjectWithContentsOfFile: [alias fullPath]];
     39    NSString *scriptPath = [alias fullPath];
    3140
    32     if (as != nil) {
    33         [as execute];
     41    if (scriptPath == nil) {
     42        NSRunAlertPanel(@"CanÕt find script", @"Pester couldnÕt find the script for the alarm Ò%@Ó.",
     43                        nil, nil, nil, [alarm message]);
     44    } else {
     45        NSDictionary *errorInfo;
     46        NSAppleScript *script = [[NSAppleScript alloc] initWithContentsOfURL: [NSURL fileURLWithPath: scriptPath] error: &errorInfo];
     47        if (script == nil) {
     48            NSString *errorMessage = [errorInfo objectForKey: NSAppleScriptErrorMessage];
     49            NSNumber *errorNumber = [errorInfo objectForKey: NSAppleScriptErrorNumber];
     50            NSString *appName = [errorInfo objectForKey: NSAppleScriptErrorAppName];
     51            if (errorMessage == nil) errorMessage = [errorInfo objectForKey: NSAppleScriptErrorBriefMessage];
     52            NSRunAlertPanel(@"Script loading error",
     53                            @"Pester encountered an error while attempting to load Ò%@Ó%@ %@",
     54                            nil, nil, nil,
     55                            [[NSFileManager defaultManager] displayNameAtPath: scriptPath],
     56                            errorMessage == nil ? @"" : [NSString stringWithFormat: @":\n\n%@%@", appName == nil ? @"" : @"Ò%@Ó reported an error: ", errorMessage],
     57                            errorNumber == nil ? @"" : [NSString stringWithFormat: @"(%@)", errorNumber]);
     58        } else {
     59            NSAppleEventDescriptor *scriptResult = [script executeAndReturnError: &errorInfo];
     60            if (scriptResult == nil) {
     61                NSString *errorMessage = [errorInfo objectForKey: NSAppleScriptErrorMessage];
     62                NSNumber *errorNumber = [errorInfo objectForKey: NSAppleScriptErrorNumber];
     63                NSString *appName = [errorInfo objectForKey: NSAppleScriptErrorAppName];
     64                if (errorMessage == nil) errorMessage = [errorInfo objectForKey: NSAppleScriptErrorBriefMessage];
     65                NSRunAlertPanel(@"Script execution error",
     66                                @"Pester encountered an error while attempting to execute the script Ò%@Ó%@ %@",
     67                                nil, nil, nil,
     68                                [[NSFileManager defaultManager] displayNameAtPath: scriptPath],
     69                                errorMessage == nil ? @"" : [NSString stringWithFormat: @":\n\n%@%@", appName == nil ? @"" : @"Ò%@Ó reported an error: ", errorMessage],
     70                                errorNumber == nil ? @"" : [NSString stringWithFormat: @"(%@)", errorNumber]);
     71            }
     72        }
    3473    }
     74    [self completedForAlarm: alarm];
    3575}
     76
     77- (NSAttributedString *)actionDescription;
     78{
     79    NSMutableAttributedString *string = [[@"Do script " small] mutableCopy];
     80    NSString *scriptName = [alias displayNameWithKindString: NULL];
     81    if (scriptName == nil) scriptName = @"ÇcanÕt locate scriptÈ";
     82    [string appendAttributedString: [scriptName underlined]];
     83    return [string autorelease];
     84}
     85
     86#pragma mark property list serialization (Pester 1.1)
     87
     88- (NSDictionary *)propertyListRepresentation;
     89{
     90    NSMutableDictionary *plAlert = [[super propertyListRepresentation] mutableCopy];
     91    [plAlert setObject: [alias aliasData] forKey: PLAlertAlias];
     92    return [plAlert autorelease];
     93}
     94
     95- (id)initWithPropertyList:(NSDictionary *)dict;
     96{
     97    return [self initWithScriptFileAlias: [BDAlias aliasWithData: [dict objectForRequiredKey: PLAlertAlias]]];
     98}
     99
    36100@end
  • trunk/Cocoa/Pester/Source/PSSpeechAlert.h

    r34 r53  
    88
    99#import "PSAlert.h"
    10 #import "SUSpeaker.h"
     10
     11@class SUSpeaker;
    1112
    1213@interface PSSpeechAlert : PSAlert {
    1314    SUSpeaker *speaker;
    1415    NSString *voice;
     16    PSAlarm *alarm;
    1517}
    1618
     
    1921- (id)initWithVoice:(NSString *)aVoice;
    2022
     23- (NSString *)voice;
     24
    2125@end
  • trunk/Cocoa/Pester/Source/PSSpeechAlert.m

    r34 r53  
    44//
    55//  Created by Nicholas Riley on Sat Oct 26 2002.
    6 //  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
     6//  Copyright (c) 2002 Nicholas Riley. All rights reserved.
    77//
    88
    99#import "PSSpeechAlert.h"
    1010#import "PSAlarmAlertController.h"
     11#import "NSDictionary-NJRExtensions.h"
     12#import "SUSpeaker.h"
     13
     14// property list keys
     15static NSString * const PLAlertVoice = @"voice"; // NSString
    1116
    1217@implementation PSSpeechAlert
     
    2025{
    2126    if ( (self = [super init]) != nil) {
    22         voice = aVoice;
     27        voice = [aVoice retain];
    2328    }
    2429    return self;
     
    3338}
    3439
     40- (NSString *)voice;
     41{
     42    return voice;
     43}
     44
    3545- (void)_stopSpeaking:(NSNotification *)notification;
    3646{
    37     [speaker stopSpeaking];
    38     // don't release here, we'll still get the didFinishSpeaking: message as a delegate
     47    [speaker stopSpeaking]; // triggers didFinishSpeaking:
    3948}
    4049
    41 - (void)triggerForAlarm:(PSAlarm *)alarm;
     50- (void)triggerForAlarm:(PSAlarm *)anAlarm;
    4251{
    4352    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(_stopSpeaking:) name: PSAlarmAlertStopNotification object: nil];
    4453   
    4554    if ( (speaker = [[SUSpeaker alloc] init]) == nil) return;
     55    alarm = anAlarm;
    4656    [speaker setDelegate: self];
    4757    [speaker setVoice: [[SUSpeaker voiceNames] indexOfObject: voice] + 1];
    4858    [speaker speakText: [alarm message]];
    49    
    50     [self retain];
     59}
     60
     61- (NSAttributedString *)actionDescription;
     62{
     63    NSMutableAttributedString *string = [[@"Speak message with voice " small] mutableCopy];
     64    [string appendAttributedString: [voice underlined]];
     65    return [string autorelease];
     66}
     67
     68#pragma mark property list serialization (Pester 1.1)
     69
     70- (NSDictionary *)propertyListRepresentation;
     71{
     72    NSMutableDictionary *plAlert = [[super propertyListRepresentation] mutableCopy];
     73    [plAlert setObject: voice forKey: PLAlertVoice];
     74    return [plAlert autorelease];
     75}
     76
     77- (id)initWithPropertyList:(NSDictionary *)dict;
     78{
     79    if ( (self = [self init]) != nil) {
     80        voice = [dict objectForRequiredKey: PLAlertVoice];
     81    }
     82    return self;
    5183}
    5284
     
    5587@implementation PSSpeechAlert (SUSpeakerDelegate)
    5688
    57 - (void)didFinishSpeaking:(SUSpeaker*)speaker;
     89- (void)didFinishSpeaking:(SUSpeaker *)aSpeaker;
    5890{
    59     [self release];
     91    [self completedForAlarm: alarm];
     92    [speaker release]; speaker = nil;
    6093}
    6194
  • trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser

    r51 r53  
    22{
    33        29B97313FDCFA39411CA2CEA = {
    4                 activeBuildStyle = 4A9504CDFFE6A4B311CA0CBA;
     4                activeBuildStyle = 4A9504CCFFE6A4B311CA0CBA;
    55                activeExecutable = F59B967103538BE201154278;
    66                activeTarget = 29B97326FDCFA39411CA2CEA;
     
    1212                        F500E5370359719B01AEEDB1,
    1313                        F5B15F74037E42EB01AEEDB1,
     14                        E1A9DEE703BF3C110089E8B2,
     15                        E17AED7003C0F4D600B89ACF,
     16                        E1156BFA03C148E2006717DC,
     17                        E1156C2C03C394D6006717DC,
     18                        E117A4AB03C3E2FD00E10BA2,
    1419                );
    1520                executables = (
     
    1722                );
    1823                perUserDictionary = {
    19                         PBXPerProjectTemplateStateSaveDate = 59271904;
    20                         "PBXTemplateGeometry-F5314676015831810DCA290F" = {
    21                                 ContentSize = "{618, 257}";
     24                        PBXPerProjectTemplateStateSaveDate = 63172038;
     25                        "PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
     26                                ContentSize = "{668, 621}";
    2227                                LeftSlideOut = {
    2328                                        Collapsed = NO;
    24                                         Frame = "{{0, 23}, {618, 234}}";
     29                                        Frame = "{{0, 0}, {668, 621}}";
    2530                                        Split0 = {
    26                                                 ActiveTab = 2;
    27                                                 Collapsed = YES;
    28                                                 Frame = "{{0, 0}, {618, 234}}";
     31                                                Collapsed = NO;
     32                                                Frame = "{{0, 0}, {668, 621}}";
    2933                                                Split0 = {
    30                                                         Frame = "{{1e+06, 1e+06}, {618, 0}}";
     34                                                        Frame = "{{0, 0}, {668, 621}}";
    3135                                                };
    3236                                                SplitCount = 1;
    3337                                                Tab0 = {
     38                                                        Frame = "{{0, 0}, {484, 208}}";
     39                                                };
     40                                                Tab1 = {
    3441                                                        Debugger = {
    3542                                                                Collapsed = NO;
    36                                                                 Frame = "{{0, 0}, {952, 321}}";
     43                                                                Frame = "{{0, 0}, {664, 208}}";
    3744                                                                Split0 = {
    38                                                                         Frame = "{{0, 24}, {952, 297}}";
     45                                                                        Frame = "{{0, 24}, {664, 184}}";
    3946                                                                        Split0 = {
    40                                                                                 Frame = "{{0, 0}, {468, 297}}";
     47                                                                                Frame = "{{0, 0}, {325, 184}}";
    4148                                                                        };
    4249                                                                        Split1 = {
    4350                                                                                DebugVariablesTableConfiguration = (
    4451                                                                                        Name,
    45                                                                                         126.803,
     52                                                                                        123,
    4653                                                                                        Value,
    47                                                                                         150.074,
     54                                                                                        85,
    4855                                                                                        Summary,
    49                                                                                         172.123,
     56                                                                                        96.123,
    5057                                                                                );
    51                                                                                 Frame = "{{477, 0}, {475, 297}}";
     58                                                                                Frame = "{{334, 0}, {330, 184}}";
    5259                                                                        };
    5360                                                                        SplitCount = 2;
     
    6370                                                                TabsVisible = YES;
    6471                                                        };
    65                                                         Frame = "{{0, 0}, {952, 321}}";
     72                                                        Frame = "{{0, 0}, {664, 208}}";
    6673                                                        LauncherConfigVersion = 7;
    6774                                                };
    68                                                 Tab1 = {
    69                                                         Frame = "{{0, 0}, {781, 452}}";
     75                                                Tab2 = {
     76                                                        Frame = "{{0, 0}, {664, 50}}";
    7077                                                        LauncherConfigVersion = 3;
    7178                                                        Runner = {
    72                                                                 Frame = "{{0, 0}, {781, 452}}";
     79                                                                Frame = "{{0, 0}, {664, 50}}";
    7380                                                        };
    7481                                                };
    75                                                 Tab2 = {
    76                                                         BuildMessageFrame = "{{0, 0}, {620, 123}}";
    77                                                         BuildTranscriptFrame = "{{0, 132}, {620, 98}}";
    78                                                         Frame = "{{0, 0}, {618, 228}}";
    79                                                 };
    8082                                                Tab3 = {
     83                                                        BuildMessageFrame = "{{0, 0}, {614, 262}}";
     84                                                        BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
     85                                                        BuildTranscriptFrameExpanded = YES;
    8186                                                        Frame = "{{0, 0}, {612, 295}}";
    8287                                                };
    83                                                 TabCount = 4;
    84                                                 TabsVisible = NO;
    85                                         };
    86                                         SplitCount = 1;
    87                                         Tab0 = {
    88                                                 Frame = "{{0, 0}, {300, 533}}";
    89                                                 GroupTreeTableConfiguration = (
    90                                                         TargetStatusColumn,
    91                                                         18,
    92                                                         MainColumn,
    93                                                         267,
    94                                                 );
    95                                         };
    96                                         Tab1 = {
    97                                                 ClassesFrame = "{{0, 0}, {280, 398}}";
    98                                                 ClassesTreeTableConfiguration = (
    99                                                         PBXBookColumnIdentifier,
    100                                                         20,
    101                                                         PBXClassColumnIdentifier,
    102                                                         237,
    103                                                 );
    104                                                 Frame = "{{0, 0}, {278, 659}}";
    105                                                 MembersFrame = "{{0, 407}, {280, 252}}";
    106                                                 MembersTreeTableConfiguration = (
    107                                                         PBXBookColumnIdentifier,
    108                                                         20,
    109                                                         PBXMethodColumnIdentifier,
    110                                                         236,
    111                                                 );
    112                                         };
    113                                         Tab2 = {
    114                                                 Frame = "{{0, 0}, {200, 100}}";
    115                                         };
    116                                         Tab3 = {
    117                                                 Frame = "{{0, 0}, {200, 100}}";
    118                                                 Split0 = {
    119                                                         Frame = "{{0, 0}, {200, 45}}";
    120                                                         TargetTreeTableConfiguration = (
    121                                                                 ActiveTarget,
    122                                                                 16,
    123                                                                 TargetName,
    124                                                                 168,
    125                                                         );
     88                                                Tab4 = {
     89                                                        Frame = "{{0, 0}, {612, 295}}";
    12690                                                };
    127                                                 Split1 = {
    128                                                         BuildStyleTreeTableConfiguration = (
    129                                                                 IsActive,
    130                                                                 16,
    131                                                                 Name,
    132                                                                 169,
    133                                                         );
    134                                                         Frame = "{{0, 54}, {200, 46}}";
    135                                                 };
    136                                                 SplitCount = 2;
    137                                         };
    138                                         Tab4 = {
    139                                                 ExecutableTreeTableConfiguration = (
    140                                                         ActiveExecutable,
    141                                                         16,
    142                                                         ExecutableName,
    143                                                         217,
    144                                                 );
    145                                                 Frame = "{{0, 0}, {250, 100}}";
    146                                         };
    147                                         Tab5 = {
    148                                                 BreakpointsTreeTableConfiguration = (
    149                                                         breakpointColumn,
    150                                                         197,
    151                                                         enabledColumn,
    152                                                         31,
    153                                                 );
    154                                                 Frame = "{{0, 0}, {250, 100}}";
    155                                         };
    156                                         TabCount = 6;
    157                                         TabsVisible = NO;
    158                                 };
    159                                 StatusViewVisible = YES;
    160                                 Template = F5314676015831810DCA290F;
    161                                 ToolbarVisible = YES;
    162                                 WindowLocation = "{460, 270}";
    163                         };
    164                         "PBXTemplateGeometry-F5CA7EC9015C08ED0DCA290F" = {
    165                                 ContentSize = "{665, 594}";
    166                                 LeftSlideOut = {
    167                                         Collapsed = NO;
    168                                         Frame = "{{0, 0}, {665, 594}}";
    169                                         Split0 = {
    170                                                 ActiveTab = 3;
    171                                                 Collapsed = NO;
    172                                                 Frame = "{{0, 0}, {665, 594}}";
    173                                                 Split0 = {
    174                                                         Frame = "{{0, 304}, {665, 290}}";
    175                                                 };
    176                                                 SplitCount = 1;
    177                                                 Tab0 = {
    178                                                         Debugger = {
    179                                                                 Collapsed = NO;
    180                                                                 Frame = "{{0, 0}, {484, 208}}";
    181                                                                 Split0 = {
    182                                                                         Frame = "{{0, 24}, {484, 184}}";
    183                                                                         Split0 = {
    184                                                                                 Frame = "{{0, 0}, {236, 184}}";
    185                                                                         };
    186                                                                         Split1 = {
    187                                                                                 DebugVariablesTableConfiguration = (
    188                                                                                         Name,
    189                                                                                         48.80299,
    190                                                                                         Value,
    191                                                                                         71.07401,
    192                                                                                         Summary,
    193                                                                                         93.123,
    194                                                                                 );
    195                                                                                 Frame = "{{245, 0}, {239, 184}}";
    196                                                                         };
    197                                                                         SplitCount = 2;
    198                                                                 };
    199                                                                 SplitCount = 1;
    200                                                                 Tab0 = {
    201                                                                         Frame = "{{0, 0}, {100, 50}}";
    202                                                                 };
    203                                                                 Tab1 = {
    204                                                                         Frame = "{{0, 0}, {100, 50}}";
    205                                                                 };
    206                                                                 TabCount = 2;
    207                                                                 TabsVisible = YES;
    208                                                         };
    209                                                         Frame = "{{0, 0}, {484, 208}}";
    210                                                         LauncherConfigVersion = 7;
    211                                                 };
    212                                                 Tab1 = {
    213                                                         Frame = "{{0, 0}, {664, 208}}";
    214                                                         LauncherConfigVersion = 3;
    215                                                         Runner = {
    216                                                                 Frame = "{{0, 0}, {664, 208}}";
    217                                                         };
    218                                                 };
    219                                                 Tab2 = {
    220                                                         BuildMessageFrame = "{{0, 0}, {666, 43}}";
    221                                                         BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    222                                                         Frame = "{{0, 0}, {664, 50}}";
    223                                                 };
    224                                                 Tab3 = {
    225                                                         Frame = "{{0, 0}, {665, 298}}";
    226                                                 };
    227                                                 TabCount = 4;
     91                                                TabCount = 5;
    22892                                                TabsVisible = NO;
    22993                                        };
     
    260124                                        Tab3 = {
    261125                                                Frame = "{{0, 0}, {200, 557}}";
    262                                                 Split0 = {
    263                                                         Frame = "{{0, 0}, {200, 270}}";
    264                                                         TargetTreeTableConfiguration = (
    265                                                                 ActiveTarget,
    266                                                                 16,
    267                                                                 TargetName,
    268                                                                 168,
    269                                                         );
    270                                                 };
    271                                                 Split1 = {
    272                                                         BuildStyleTreeTableConfiguration = (
    273                                                                 IsActive,
    274                                                                 16,
    275                                                                 Name,
    276                                                                 169,
    277                                                         );
    278                                                         Frame = "{{0, 279}, {200, 278}}";
    279                                                 };
    280                                                 SplitCount = 2;
     126                                                TargetTableConfiguration = (
     127                                                        ActiveObject,
     128                                                        16,
     129                                                        ObjectNames,
     130                                                        202.296,
     131                                                );
    281132                                        };
    282133                                        Tab4 = {
    283                                                 ExecutableTreeTableConfiguration = (
    284                                                         ActiveExecutable,
    285                                                         16,
    286                                                         ExecutableName,
    287                                                         217,
    288                                                 );
    289                                                 Frame = "{{0, 0}, {250, 100}}";
    290                                         };
    291                                         Tab5 = {
    292134                                                BreakpointsTreeTableConfiguration = (
    293135                                                        breakpointColumn,
     
    298140                                                Frame = "{{0, 0}, {250, 100}}";
    299141                                        };
    300                                         TabCount = 6;
     142                                        TabCount = 5;
    301143                                        TabsVisible = NO;
    302144                                };
    303                                 StatusViewVisible = NO;
    304                                 Template = F5CA7EC9015C08ED0DCA290F;
    305                                 ToolbarVisible = NO;
    306                                 WindowLocation = "{69, 216}";
    307                         };
    308                         "PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
    309                                 ContentSize = "{668, 621}";
    310                                 LeftSlideOut = {
    311                                         Collapsed = NO;
    312                                         Frame = "{{0, 0}, {668, 621}}";
    313                                         Split0 = {
    314                                                 Collapsed = NO;
    315                                                 Frame = "{{0, 0}, {668, 621}}";
    316                                                 Split0 = {
    317                                                         Frame = "{{0, 0}, {668, 621}}";
    318                                                 };
    319                                                 SplitCount = 1;
    320                                                 Tab0 = {
    321                                                         Debugger = {
    322                                                                 Collapsed = NO;
    323                                                                 Frame = "{{0, 0}, {484, 208}}";
    324                                                                 Split0 = {
    325                                                                         Frame = "{{0, 24}, {484, 184}}";
    326                                                                         Split0 = {
    327                                                                                 Frame = "{{0, 0}, {236, 184}}";
    328                                                                         };
    329                                                                         Split1 = {
    330                                                                                 DebugVariablesTableConfiguration = (
    331                                                                                         Name,
    332                                                                                         123,
    333                                                                                         Value,
    334                                                                                         85,
    335                                                                                         Summary,
    336                                                                                         62.123,
    337                                                                                 );
    338                                                                                 Frame = "{{245, 0}, {239, 184}}";
    339                                                                         };
    340                                                                         SplitCount = 2;
    341                                                                 };
    342                                                                 SplitCount = 1;
    343                                                                 Tab0 = {
    344                                                                         Frame = "{{0, 0}, {100, 50}}";
    345                                                                 };
    346                                                                 Tab1 = {
    347                                                                         Frame = "{{0, 0}, {100, 50}}";
    348                                                                 };
    349                                                                 TabCount = 2;
    350                                                                 TabsVisible = YES;
    351                                                         };
    352                                                         Frame = "{{0, 0}, {484, 208}}";
    353                                                         LauncherConfigVersion = 7;
    354                                                 };
    355                                                 Tab1 = {
    356                                                         Frame = "{{0, 0}, {664, 208}}";
    357                                                         LauncherConfigVersion = 3;
    358                                                         Runner = {
    359                                                                 Frame = "{{0, 0}, {664, 208}}";
    360                                                         };
    361                                                 };
    362                                                 Tab2 = {
    363                                                         BuildMessageFrame = "{{0, 0}, {666, 43}}";
    364                                                         BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    365                                                         Frame = "{{0, 0}, {664, 50}}";
    366                                                 };
    367                                                 Tab3 = {
    368                                                         Frame = "{{0, 0}, {612, 295}}";
    369                                                 };
    370                                                 TabCount = 4;
    371                                                 TabsVisible = NO;
    372                                         };
    373                                         SplitCount = 1;
    374                                         Tab0 = {
    375                                                 Frame = "{{0, 0}, {313, 531}}";
    376                                                 GroupTreeTableConfiguration = (
    377                                                         TargetStatusColumn,
    378                                                         18,
    379                                                         MainColumn,
    380                                                         280,
    381                                                 );
    382                                         };
    383                                         Tab1 = {
    384                                                 ClassesFrame = "{{0, 0}, {280, 398}}";
    385                                                 ClassesTreeTableConfiguration = (
    386                                                         PBXBookColumnIdentifier,
    387                                                         20,
    388                                                         PBXClassColumnIdentifier,
    389                                                         237,
    390                                                 );
    391                                                 Frame = "{{0, 0}, {278, 659}}";
    392                                                 MembersFrame = "{{0, 407}, {280, 252}}";
    393                                                 MembersTreeTableConfiguration = (
    394                                                         PBXBookColumnIdentifier,
    395                                                         20,
    396                                                         PBXMethodColumnIdentifier,
    397                                                         236,
    398                                                 );
    399                                         };
    400                                         Tab2 = {
    401                                                 Frame = "{{0, 0}, {200, 100}}";
    402                                         };
    403                                         Tab3 = {
    404                                                 Frame = "{{0, 0}, {200, 557}}";
    405                                                 Split0 = {
    406                                                         Frame = "{{0, 0}, {200, 270}}";
    407                                                         TargetTreeTableConfiguration = (
    408                                                                 ActiveTarget,
    409                                                                 16,
    410                                                                 TargetName,
    411                                                                 168,
    412                                                         );
    413                                                 };
    414                                                 Split1 = {
    415                                                         BuildStyleTreeTableConfiguration = (
    416                                                                 IsActive,
    417                                                                 16,
    418                                                                 Name,
    419                                                                 169,
    420                                                         );
    421                                                         Frame = "{{0, 279}, {200, 278}}";
    422                                                 };
    423                                                 SplitCount = 2;
    424                                         };
    425                                         Tab4 = {
    426                                                 ExecutableTreeTableConfiguration = (
    427                                                         ActiveExecutable,
    428                                                         16,
    429                                                         ExecutableName,
    430                                                         217,
    431                                                 );
    432                                                 Frame = "{{0, 0}, {250, 100}}";
    433                                         };
    434                                         Tab5 = {
    435                                                 BreakpointsTreeTableConfiguration = (
    436                                                         breakpointColumn,
    437                                                         197,
    438                                                         enabledColumn,
    439                                                         31,
    440                                                 );
    441                                                 Frame = "{{0, 0}, {250, 100}}";
    442                                         };
    443                                         TabCount = 6;
    444                                         TabsVisible = NO;
    445                                 };
     145                                NavBarShownByDefault = YES;
    446146                                StatusViewVisible = NO;
    447147                                Template = F5CA7ECB015C094F0DCA290F;
    448148                                ToolbarVisible = NO;
    449                                 WindowLocation = "{361, 189}";
    450                         };
    451                         "PBXTemplateGeometry-F5CA7ECC015C09990DCA290F" = {
    452                                 ContentSize = "{773, 558}";
    453                                 LeftSlideOut = {
    454                                         Collapsed = NO;
    455                                         Frame = "{{0, 23}, {773, 535}}";
    456                                         Split0 = {
    457                                                 ActiveTab = 0;
    458                                                 Collapsed = NO;
    459                                                 Frame = "{{24, 0}, {749, 535}}";
    460                                                 Split0 = {
    461                                                         Frame = "{{0, 337}, {749, 198}}";
    462                                                 };
    463                                                 SplitCount = 1;
    464                                                 Tab0 = {
    465                                                         Debugger = {
    466                                                                 ActiveTab = 1;
    467                                                                 Collapsed = NO;
    468                                                                 Frame = "{{0, 0}, {749, 331}}";
    469                                                                 Split0 = {
    470                                                                         Frame = "{{0, 127}, {749, 204}}";
    471                                                                         Split0 = {
    472                                                                                 Frame = "{{0, 0}, {366, 204}}";
    473                                                                         };
    474                                                                         Split1 = {
    475                                                                                 DebugVariablesTableConfiguration = (
    476                                                                                         Name,
    477                                                                                         120.803,
    478                                                                                         Value,
    479                                                                                         116.074,
    480                                                                                         Summary,
    481                                                                                         111.123,
    482                                                                                 );
    483                                                                                 Frame = "{{375, 0}, {374, 204}}";
    484                                                                         };
    485                                                                         SplitCount = 2;
    486                                                                 };
    487                                                                 SplitCount = 1;
    488                                                                 Tab0 = {
    489                                                                         Frame = "{{0, 0}, {100, 50}}";
    490                                                                 };
    491                                                                 Tab1 = {
    492                                                                         Frame = "{{0, 0}, {749, 103}}";
    493                                                                 };
    494                                                                 TabCount = 2;
    495                                                                 TabsVisible = YES;
    496                                                         };
    497                                                         Frame = "{{0, 0}, {749, 331}}";
    498                                                         LauncherConfigVersion = 7;
    499                                                 };
    500                                                 Tab1 = {
    501                                                         Frame = "{{0, 0}, {664, 208}}";
    502                                                         LauncherConfigVersion = 3;
    503                                                         Runner = {
    504                                                                 Frame = "{{0, 0}, {664, 208}}";
    505                                                         };
    506                                                 };
    507                                                 Tab2 = {
    508                                                         BuildMessageFrame = "{{0, 0}, {666, 43}}";
    509                                                         BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    510                                                         Frame = "{{0, 0}, {664, 50}}";
    511                                                 };
    512                                                 Tab3 = {
    513                                                         Frame = "{{0, 0}, {612, 295}}";
    514                                                 };
    515                                                 TabCount = 4;
    516                                                 TabsVisible = NO;
    517                                         };
    518                                         SplitCount = 1;
    519                                         Tab0 = {
    520                                                 Frame = "{{0, 0}, {313, 531}}";
    521                                                 GroupTreeTableConfiguration = (
    522                                                         TargetStatusColumn,
    523                                                         18,
    524                                                         MainColumn,
    525                                                         280,
    526                                                 );
    527                                         };
    528                                         Tab1 = {
    529                                                 ClassesFrame = "{{0, 0}, {280, 398}}";
    530                                                 ClassesTreeTableConfiguration = (
    531                                                         PBXBookColumnIdentifier,
    532                                                         20,
    533                                                         PBXClassColumnIdentifier,
    534                                                         237,
    535                                                 );
    536                                                 Frame = "{{0, 0}, {278, 659}}";
    537                                                 MembersFrame = "{{0, 407}, {280, 252}}";
    538                                                 MembersTreeTableConfiguration = (
    539                                                         PBXBookColumnIdentifier,
    540                                                         20,
    541                                                         PBXMethodColumnIdentifier,
    542                                                         236,
    543                                                 );
    544                                         };
    545                                         Tab2 = {
    546                                                 Frame = "{{0, 0}, {200, 100}}";
    547                                         };
    548                                         Tab3 = {
    549                                                 Frame = "{{0, 0}, {200, 557}}";
    550                                                 Split0 = {
    551                                                         Frame = "{{0, 0}, {200, 270}}";
    552                                                         TargetTreeTableConfiguration = (
    553                                                                 ActiveTarget,
    554                                                                 16,
    555                                                                 TargetName,
    556                                                                 168,
    557                                                         );
    558                                                 };
    559                                                 Split1 = {
    560                                                         BuildStyleTreeTableConfiguration = (
    561                                                                 IsActive,
    562                                                                 16,
    563                                                                 Name,
    564                                                                 169,
    565                                                         );
    566                                                         Frame = "{{0, 279}, {200, 278}}";
    567                                                 };
    568                                                 SplitCount = 2;
    569                                         };
    570                                         Tab4 = {
    571                                                 ExecutableTreeTableConfiguration = (
    572                                                         ActiveExecutable,
    573                                                         16,
    574                                                         ExecutableName,
    575                                                         217,
    576                                                 );
    577                                                 Frame = "{{0, 0}, {250, 100}}";
    578                                         };
    579                                         Tab5 = {
    580                                                 BreakpointsTreeTableConfiguration = (
    581                                                         breakpointColumn,
    582                                                         197,
    583                                                         enabledColumn,
    584                                                         31,
    585                                                 );
    586                                                 Frame = "{{0, 0}, {250, 100}}";
    587                                         };
    588                                         TabCount = 6;
    589                                         TabsVisible = YES;
    590                                 };
    591                                 StatusViewVisible = YES;
    592                                 Template = F5CA7ECC015C09990DCA290F;
    593                                 ToolbarVisible = YES;
    594                                 WindowLocation = "{13, 212}";
    595                         };
    596                         "PBXTemplateGeometry-F5E465990156DFB90DCA290F" = {
    597                                 ContentSize = "{352, 553}";
    598                                 LeftSlideOut = {
    599                                         ActiveTab = 0;
    600                                         Collapsed = YES;
    601                                         Frame = "{{0, 23}, {352, 530}}";
    602                                         Split0 = {
    603                                                 Collapsed = NO;
    604                                                 Frame = "{{1e+06, 1e+06}, {0, 530}}";
    605                                                 Split0 = {
    606                                                         Frame = "{{0, 0}, {0, 530}}";
    607                                                 };
    608                                                 SplitCount = 1;
    609                                                 Tab0 = {
    610                                                         Debugger = {
    611                                                                 Collapsed = NO;
    612                                                                 Frame = "{{0, 0}, {484, 208}}";
    613                                                                 Split0 = {
    614                                                                         Frame = "{{0, 24}, {484, 184}}";
    615                                                                         Split0 = {
    616                                                                                 Frame = "{{0, 0}, {236, 184}}";
    617                                                                         };
    618                                                                         Split1 = {
    619                                                                                 DebugVariablesTableConfiguration = (
    620                                                                                         Name,
    621                                                                                         123,
    622                                                                                         Value,
    623                                                                                         85,
    624                                                                                         Summary,
    625                                                                                         62.123,
    626                                                                                 );
    627                                                                                 Frame = "{{245, 0}, {239, 184}}";
    628                                                                         };
    629                                                                         SplitCount = 2;
    630                                                                 };
    631                                                                 SplitCount = 1;
    632                                                                 Tab0 = {
    633                                                                         Frame = "{{0, 0}, {100, 50}}";
    634                                                                 };
    635                                                                 Tab1 = {
    636                                                                         Frame = "{{0, 0}, {100, 50}}";
    637                                                                 };
    638                                                                 TabCount = 2;
    639                                                                 TabsVisible = YES;
    640                                                         };
    641                                                         Frame = "{{0, 0}, {484, 208}}";
    642                                                         LauncherConfigVersion = 7;
    643                                                 };
    644                                                 Tab1 = {
    645                                                         Frame = "{{0, 0}, {664, 208}}";
    646                                                         LauncherConfigVersion = 3;
    647                                                         Runner = {
    648                                                                 Frame = "{{0, 0}, {664, 208}}";
    649                                                         };
    650                                                 };
    651                                                 Tab2 = {
    652                                                         BuildMessageFrame = "{{0, 0}, {666, 43}}";
    653                                                         BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    654                                                         Frame = "{{0, 0}, {664, 50}}";
    655                                                 };
    656                                                 Tab3 = {
    657                                                         Frame = "{{0, 0}, {612, 295}}";
    658                                                 };
    659                                                 TabCount = 4;
    660                                                 TabsVisible = NO;
    661                                         };
    662                                         SplitCount = 1;
    663                                         Tab0 = {
    664                                                 Frame = "{{0, 0}, {328, 530}}";
    665                                                 GroupTreeTableConfiguration = (
    666                                                         TargetStatusColumn,
    667                                                         18,
    668                                                         MainColumn,
    669                                                         295,
    670                                                 );
    671                                         };
    672                                         Tab1 = {
    673                                                 ClassesFrame = "{{0, 0}, {343, 348}}";
    674                                                 ClassesTreeTableConfiguration = (
    675                                                         PBXBookColumnIdentifier,
    676                                                         20,
    677                                                         PBXClassColumnIdentifier,
    678                                                         300,
    679                                                 );
    680                                                 Frame = "{{0, 0}, {341, 578}}";
    681                                                 MembersFrame = "{{0, 357}, {343, 221}}";
    682                                                 MembersTreeTableConfiguration = (
    683                                                         PBXBookColumnIdentifier,
    684                                                         20,
    685                                                         PBXMethodColumnIdentifier,
    686                                                         299,
    687                                                 );
    688                                         };
    689                                         Tab2 = {
    690                                                 Frame = "{{0, 0}, {319, 576}}";
    691                                         };
    692                                         Tab3 = {
    693                                                 Frame = "{{0, 0}, {341, 578}}";
    694                                                 Split0 = {
    695                                                         Frame = "{{0, 0}, {341, 281}}";
    696                                                         TargetTreeTableConfiguration = (
    697                                                                 ActiveTarget,
    698                                                                 16,
    699                                                                 TargetName,
    700                                                                 309,
    701                                                         );
    702                                                 };
    703                                                 Split1 = {
    704                                                         BuildStyleTreeTableConfiguration = (
    705                                                                 IsActive,
    706                                                                 16,
    707                                                                 Name,
    708                                                                 310,
    709                                                         );
    710                                                         Frame = "{{0, 290}, {341, 288}}";
    711                                                 };
    712                                                 SplitCount = 2;
    713                                         };
    714                                         Tab4 = {
    715                                                 ExecutableTreeTableConfiguration = (
    716                                                         ActiveExecutable,
    717                                                         16,
    718                                                         ExecutableName,
    719                                                         286,
    720                                                 );
    721                                                 Frame = "{{0, 0}, {319, 576}}";
    722                                         };
    723                                         Tab5 = {
    724                                                 BreakpointsTreeTableConfiguration = (
    725                                                         breakpointColumn,
    726                                                         197,
    727                                                         enabledColumn,
    728                                                         31,
    729                                                 );
    730                                                 Frame = "{{0, 0}, {250, 100}}";
    731                                         };
    732                                         TabCount = 6;
    733                                         TabsVisible = YES;
    734                                 };
    735                                 StatusViewVisible = YES;
    736                                 Template = F5E465990156DFB90DCA290F;
    737                                 ToolbarVisible = YES;
    738                                 WindowLocation = "{2, 217}";
     149                                WindowLocation = "{420, 75}";
    739150                        };
    740151                        PBXWorkspaceContents = (
     
    743154                                                Split0 = {
    744155                                                        Split0 = {
     156                                                                NavContent0 = {
     157                                                                        bookmark = E1096EC203C3F504009B92C1;
     158                                                                        history = (
     159                                                                                E1D2937503BD418200F9204E,
     160                                                                                E1D2937B03BD418200F9204E,
     161                                                                                E1D2937C03BD418200F9204E,
     162                                                                                E1D2937E03BD418200F9204E,
     163                                                                                E1D2938303BD418200F9204E,
     164                                                                                E1D2938403BD418200F9204E,
     165                                                                                E1D2938503BD418200F9204E,
     166                                                                                E1D2938603BD418200F9204E,
     167                                                                                E1D2938903BD418200F9204E,
     168                                                                                E195A26303BE251F00186F9B,
     169                                                                                E195A26403BE251F00186F9B,
     170                                                                                E195A26503BE251F00186F9B,
     171                                                                                E195A26603BE251F00186F9B,
     172                                                                                E195A26703BE251F00186F9B,
     173                                                                                E195A26803BE251F00186F9B,
     174                                                                                E195A26C03BE251F00186F9B,
     175                                                                                E195A26D03BE251F00186F9B,
     176                                                                                E195A26E03BE251F00186F9B,
     177                                                                                E195A26F03BE251F00186F9B,
     178                                                                                E195A27603BE251F00186F9B,
     179                                                                                E195A27A03BE251F00186F9B,
     180                                                                                E195A27B03BE251F00186F9B,
     181                                                                                E195A27D03BE251F00186F9B,
     182                                                                                E195A27E03BE251F00186F9B,
     183                                                                                E195A28003BE251F00186F9B,
     184                                                                                E195A28F03BE251F00186F9B,
     185                                                                                E19DCB6C03BE4A0A00B934BF,
     186                                                                                E19DCB7803BE4A0A00B934BF,
     187                                                                                E19DCB8203BE4A0A00B934BF,
     188                                                                                E19DCB8303BE4A0A00B934BF,
     189                                                                                E19DCC8703BE900300B934BF,
     190                                                                                E19DCC8803BE900300B934BF,
     191                                                                                E19DCC8903BE900300B934BF,
     192                                                                                E19DCC8A03BE900300B934BF,
     193                                                                                E19DCC8B03BE900300B934BF,
     194                                                                                E19DCC8C03BE900300B934BF,
     195                                                                                E19DCC8E03BE900300B934BF,
     196                                                                                E19DCC8F03BE900300B934BF,
     197                                                                                E19DCC9203BE900300B934BF,
     198                                                                                E19DCC9603BE900300B934BF,
     199                                                                                E19DCC9703BE900300B934BF,
     200                                                                                E19DCC9C03BE900300B934BF,
     201                                                                                E19DCC9E03BE900300B934BF,
     202                                                                                E1A9DEEB03BF480F0089E8B2,
     203                                                                                E1A9DEEE03BF480F0089E8B2,
     204                                                                                E1A9DEF003BF480F0089E8B2,
     205                                                                                E1A9DEF103BF480F0089E8B2,
     206                                                                                E1A9DEF203BF480F0089E8B2,
     207                                                                                E11CD2CA03BF9B3300C49BEF,
     208                                                                                E11CD2D003BF9B3300C49BEF,
     209                                                                                E11CD2D103BF9B3300C49BEF,
     210                                                                                E11CD2D203BF9B3300C49BEF,
     211                                                                                E11CD2D303BF9B3300C49BEF,
     212                                                                                E11CD2D403BF9B3300C49BEF,
     213                                                                                E11CD2D503BF9B3300C49BEF,
     214                                                                                E11CD2D603BF9B3300C49BEF,
     215                                                                                E11CD2D703BF9B3300C49BEF,
     216                                                                                E11CD2D803BF9B3300C49BEF,
     217                                                                                E11CD2E003BF9B3300C49BEF,
     218                                                                                E17AED7203C0F5D300B89ACF,
     219                                                                                E17AED7303C0F5D300B89ACF,
     220                                                                                E17AED7403C0F5D300B89ACF,
     221                                                                                E17AED7503C0F5D300B89ACF,
     222                                                                                E17AED7603C0F5D300B89ACF,
     223                                                                                E17AED7703C0F5D300B89ACF,
     224                                                                                E17AED7803C0F5D300B89ACF,
     225                                                                                E17AED7903C0F5D300B89ACF,
     226                                                                                E17AED7A03C0F5D300B89ACF,
     227                                                                                E17AED7B03C0F5D300B89ACF,
     228                                                                                E17AED7C03C0F5D300B89ACF,
     229                                                                                E17AED7D03C0F5D300B89ACF,
     230                                                                                E17AED7E03C0F5D300B89ACF,
     231                                                                                E17AED7F03C0F5D300B89ACF,
     232                                                                                E17AED8003C0F5D300B89ACF,
     233                                                                                E17AED8103C0F5D300B89ACF,
     234                                                                                E17AED8203C0F5D300B89ACF,
     235                                                                                E17AED8303C0F5D300B89ACF,
     236                                                                                E17AED8403C0F5D300B89ACF,
     237                                                                                E17AED8503C0F5D300B89ACF,
     238                                                                                E17AED8603C0F5D300B89ACF,
     239                                                                                E17AED8703C0F5D300B89ACF,
     240                                                                                E17AED8803C0F5D300B89ACF,
     241                                                                                E17AED8903C0F5D300B89ACF,
     242                                                                                E117A4AC03C3E9C600E10BA2,
     243                                                                                E117A4AD03C3E9C600E10BA2,
     244                                                                                E117A4AE03C3E9C600E10BA2,
     245                                                                                E117A4AF03C3E9C600E10BA2,
     246                                                                                E117A4B003C3E9C600E10BA2,
     247                                                                                E1096EB603C3EDB0009B92C1,
     248                                                                                E1096EB903C3EDB0009B92C1,
     249                                                                        );
     250                                                                        prevStack = (
     251                                                                                E1D2939103BD418200F9204E,
     252                                                                                E1D2939203BD418200F9204E,
     253                                                                                E1D2939303BD418200F9204E,
     254                                                                                E1D2939403BD418200F9204E,
     255                                                                                E1D2939503BD418200F9204E,
     256                                                                                E1D2939603BD418200F9204E,
     257                                                                                E1D2939703BD418200F9204E,
     258                                                                                E1D2939803BD418200F9204E,
     259                                                                                E1D2939903BD418200F9204E,
     260                                                                                E1D2939A03BD418200F9204E,
     261                                                                                E1D2939B03BD418200F9204E,
     262                                                                                E1D2939C03BD418200F9204E,
     263                                                                                E1D2939D03BD418200F9204E,
     264                                                                                E1D2939E03BD418200F9204E,
     265                                                                                E1D2939F03BD418200F9204E,
     266                                                                                E1D293A003BD418200F9204E,
     267                                                                                E1D293A103BD418200F9204E,
     268                                                                                E1D293A203BD418200F9204E,
     269                                                                                E1D293A303BD418200F9204E,
     270                                                                                E1D293A403BD418200F9204E,
     271                                                                                E1D293A503BD418200F9204E,
     272                                                                                E1D293A603BD418200F9204E,
     273                                                                                E1D293A703BD418200F9204E,
     274                                                                                E1D293A803BD418200F9204E,
     275                                                                                E1D293A903BD418200F9204E,
     276                                                                                E1D293AA03BD418200F9204E,
     277                                                                                E1D293AB03BD418200F9204E,
     278                                                                                E1D293AC03BD418200F9204E,
     279                                                                                E1D293AD03BD418200F9204E,
     280                                                                                E1D293AE03BD418200F9204E,
     281                                                                                E1D293AF03BD418200F9204E,
     282                                                                                E1D293B003BD418200F9204E,
     283                                                                                E1D293B203BD418200F9204E,
     284                                                                                E1D293B403BD418200F9204E,
     285                                                                                E1D293B503BD418200F9204E,
     286                                                                                E1D293B703BD418200F9204E,
     287                                                                                E1D293B903BD418200F9204E,
     288                                                                                E1D293BA03BD418200F9204E,
     289                                                                                E1D293BB03BD418200F9204E,
     290                                                                                E1D293BC03BD418200F9204E,
     291                                                                                E1D293BD03BD418200F9204E,
     292                                                                                E1D293BE03BD418200F9204E,
     293                                                                                E1D293BF03BD418200F9204E,
     294                                                                                E1D293C003BD418200F9204E,
     295                                                                                E1D293C103BD418200F9204E,
     296                                                                                E1D293C203BD418200F9204E,
     297                                                                                E1D293C403BD418200F9204E,
     298                                                                                E1D293C503BD418200F9204E,
     299                                                                                E1D293C603BD418200F9204E,
     300                                                                                E1D293C703BD418200F9204E,
     301                                                                                E1D293C803BD418200F9204E,
     302                                                                                E1D293C903BD418200F9204E,
     303                                                                                E1D293CA03BD418200F9204E,
     304                                                                                E1D293CB03BD418200F9204E,
     305                                                                                E1D293CC03BD418200F9204E,
     306                                                                                E1D293CD03BD418200F9204E,
     307                                                                                E1D293CE03BD418200F9204E,
     308                                                                                E1D293CF03BD418200F9204E,
     309                                                                                E1D293D003BD418200F9204E,
     310                                                                                E1D293D103BD418200F9204E,
     311                                                                                E1D293D203BD418200F9204E,
     312                                                                                E1D293D303BD418200F9204E,
     313                                                                                E1D293D403BD418200F9204E,
     314                                                                                E1D293D503BD418200F9204E,
     315                                                                                E1D293D603BD418200F9204E,
     316                                                                                E1D293D703BD418200F9204E,
     317                                                                                E1D293D803BD418200F9204E,
     318                                                                                E1D293D903BD418200F9204E,
     319                                                                                E1D293DA03BD418200F9204E,
     320                                                                                E1D293DB03BD418200F9204E,
     321                                                                                E1D293DC03BD418200F9204E,
     322                                                                                E1D293DD03BD418200F9204E,
     323                                                                                E1D293DE03BD418200F9204E,
     324                                                                                E1D293DF03BD418200F9204E,
     325                                                                                E1D293E003BD418200F9204E,
     326                                                                                E1D293E103BD418200F9204E,
     327                                                                                E1D293E203BD418200F9204E,
     328                                                                                E1D293E303BD418200F9204E,
     329                                                                                E1D293E403BD418200F9204E,
     330                                                                                E1D293E503BD418200F9204E,
     331                                                                                E1D293E603BD418200F9204E,
     332                                                                                E1D293E703BD418200F9204E,
     333                                                                                E1D293E803BD418200F9204E,
     334                                                                                E1D293E903BD418200F9204E,
     335                                                                                E1D293EA03BD418200F9204E,
     336                                                                                E1D293EB03BD418200F9204E,
     337                                                                                E1D293EC03BD418200F9204E,
     338                                                                                E1D293EE03BD418200F9204E,
     339                                                                                E1D293F003BD418200F9204E,
     340                                                                                E1D293F103BD418200F9204E,
     341                                                                                E1D293F203BD418200F9204E,
     342                                                                                E1D293F303BD418200F9204E,
     343                                                                                E1D293F403BD418200F9204E,
     344                                                                                E1D293F503BD418200F9204E,
     345                                                                                E1D293F703BD418200F9204E,
     346                                                                                E1D293F803BD418200F9204E,
     347                                                                                E1D293F903BD418200F9204E,
     348                                                                                E1D293FB03BD418200F9204E,
     349                                                                                E1D293FC03BD418200F9204E,
     350                                                                                E1D293FD03BD418200F9204E,
     351                                                                                E1D293FE03BD418200F9204E,
     352                                                                                E1D293FF03BD418200F9204E,
     353                                                                                E1D2940003BD418200F9204E,
     354                                                                                E1D2940103BD418200F9204E,
     355                                                                                E1D2940203BD418200F9204E,
     356                                                                                E1D2940303BD418200F9204E,
     357                                                                                E1D2940403BD418200F9204E,
     358                                                                                E1D2940503BD418200F9204E,
     359                                                                                E1D2940603BD418200F9204E,
     360                                                                                E1D2940703BD418200F9204E,
     361                                                                                E1D2940803BD418200F9204E,
     362                                                                                E1D2940903BD418200F9204E,
     363                                                                                E1D2940A03BD418200F9204E,
     364                                                                                E1D2940B03BD418200F9204E,
     365                                                                                E1D2940C03BD418200F9204E,
     366                                                                                E1D2940D03BD418200F9204E,
     367                                                                                E1D2940E03BD418200F9204E,
     368                                                                                E1D2940F03BD418200F9204E,
     369                                                                                E1D2941003BD418200F9204E,
     370                                                                                E1D2941103BD418200F9204E,
     371                                                                                E1D2941203BD418200F9204E,
     372                                                                                E1D2941303BD418200F9204E,
     373                                                                                E1D2941403BD418200F9204E,
     374                                                                                E1D2941503BD418200F9204E,
     375                                                                                E1D2941603BD418200F9204E,
     376                                                                                E1D2941703BD418200F9204E,
     377                                                                                E1D2941803BD418200F9204E,
     378                                                                                E1D2941903BD418200F9204E,
     379                                                                                E1D2941A03BD418200F9204E,
     380                                                                                E1D2941B03BD418200F9204E,
     381                                                                                E1D2941C03BD418200F9204E,
     382                                                                                E1D2941D03BD418200F9204E,
     383                                                                                E1D2941E03BD418200F9204E,
     384                                                                                E1D2941F03BD418200F9204E,
     385                                                                                E1D2942003BD418200F9204E,
     386                                                                                E1D2942103BD418200F9204E,
     387                                                                                E1D2942203BD418200F9204E,
     388                                                                                E1D2942303BD418200F9204E,
     389                                                                                E1D2942403BD418200F9204E,
     390                                                                                E1D2942503BD418200F9204E,
     391                                                                                E1D2942603BD418200F9204E,
     392                                                                                E1D2942703BD418200F9204E,
     393                                                                                E1D2942803BD418200F9204E,
     394                                                                                E1D2942903BD418200F9204E,
     395                                                                                E1D2942A03BD418200F9204E,
     396                                                                                E1D2942B03BD418200F9204E,
     397                                                                                E1D2942C03BD418200F9204E,
     398                                                                                E1D2942D03BD418200F9204E,
     399                                                                                E1D2942E03BD418200F9204E,
     400                                                                                E1D2942F03BD418200F9204E,
     401                                                                                E1D2943003BD418200F9204E,
     402                                                                                E1D2943103BD418200F9204E,
     403                                                                                E1D2943203BD418200F9204E,
     404                                                                                E1D2943303BD418200F9204E,
     405                                                                                E1D2943403BD418200F9204E,
     406                                                                                E1D2943503BD418200F9204E,
     407                                                                                E1D2943603BD418200F9204E,
     408                                                                                E1D2943703BD418200F9204E,
     409                                                                                E1D2943803BD418200F9204E,
     410                                                                                E1D2943903BD418200F9204E,
     411                                                                                E195A29103BE251F00186F9B,
     412                                                                                E195A29203BE251F00186F9B,
     413                                                                                E195A29503BE251F00186F9B,
     414                                                                                E195A29603BE251F00186F9B,
     415                                                                                E195A29703BE251F00186F9B,
     416                                                                                E195A29803BE251F00186F9B,
     417                                                                                E195A29903BE251F00186F9B,
     418                                                                                E195A29A03BE251F00186F9B,
     419                                                                                E195A29D03BE251F00186F9B,
     420                                                                                E195A29E03BE251F00186F9B,
     421                                                                                E195A29F03BE251F00186F9B,
     422                                                                                E195A2A003BE251F00186F9B,
     423                                                                                E195A2A103BE251F00186F9B,
     424                                                                                E195A2A203BE251F00186F9B,
     425                                                                                E195A2A303BE251F00186F9B,
     426                                                                                E195A2A503BE251F00186F9B,
     427                                                                                E195A2A603BE251F00186F9B,
     428                                                                                E195A2A703BE251F00186F9B,
     429                                                                                E195A2A803BE251F00186F9B,
     430                                                                                E195A2A903BE251F00186F9B,
     431                                                                                E195A2AA03BE251F00186F9B,
     432                                                                                E195A2AC03BE251F00186F9B,
     433                                                                                E195A2AD03BE251F00186F9B,
     434                                                                                E195A2AE03BE251F00186F9B,
     435                                                                                E195A2AF03BE251F00186F9B,
     436                                                                                E195A2B003BE251F00186F9B,
     437                                                                                E195A2B103BE251F00186F9B,
     438                                                                                E195A2B203BE251F00186F9B,
     439                                                                                E195A2B303BE251F00186F9B,
     440                                                                                E195A2B403BE251F00186F9B,
     441                                                                                E195A2B503BE251F00186F9B,
     442                                                                                E195A2B603BE251F00186F9B,
     443                                                                                E195A2B703BE251F00186F9B,
     444                                                                                E195A2B803BE251F00186F9B,
     445                                                                                E195A2B903BE251F00186F9B,
     446                                                                                E195A2BA03BE251F00186F9B,
     447                                                                                E195A2BB03BE251F00186F9B,
     448                                                                                E195A2BC03BE251F00186F9B,
     449                                                                                E195A2BD03BE251F00186F9B,
     450                                                                                E195A2BE03BE251F00186F9B,
     451                                                                                E195A2C103BE251F00186F9B,
     452                                                                                E195A2C203BE251F00186F9B,
     453                                                                                E195A2C303BE251F00186F9B,
     454                                                                                E195A2C403BE251F00186F9B,
     455                                                                                E195A2C503BE251F00186F9B,
     456                                                                                E195A2C603BE251F00186F9B,
     457                                                                                E195A2C703BE251F00186F9B,
     458                                                                                E195A2C803BE251F00186F9B,
     459                                                                                E195A2C903BE251F00186F9B,
     460                                                                                E195A2CA03BE251F00186F9B,
     461                                                                                E195A2CB03BE251F00186F9B,
     462                                                                                E195A2CD03BE251F00186F9B,
     463                                                                                E195A2CF03BE251F00186F9B,
     464                                                                                E195A2D103BE251F00186F9B,
     465                                                                                E195A2D303BE251F00186F9B,
     466                                                                                E195A2D503BE251F00186F9B,
     467                                                                                E195A2D703BE251F00186F9B,
     468                                                                                E195A2D903BE251F00186F9B,
     469                                                                                E195A2DB03BE251F00186F9B,
     470                                                                                E195A2DD03BE251F00186F9B,
     471                                                                                E195A2DF03BE251F00186F9B,
     472                                                                                E195A2E003BE251F00186F9B,
     473                                                                                E195A2E103BE251F00186F9B,
     474                                                                                E195A2E203BE251F00186F9B,
     475                                                                                E195A2E303BE251F00186F9B,
     476                                                                                E195A2E403BE251F00186F9B,
     477                                                                                E195A2E503BE251F00186F9B,
     478                                                                                E195A2E603BE251F00186F9B,
     479                                                                                E195A2E803BE251F00186F9B,
     480                                                                                E195A2E903BE251F00186F9B,
     481                                                                                E195A2EA03BE251F00186F9B,
     482                                                                                E195A2EB03BE251F00186F9B,
     483                                                                                E195A2EC03BE251F00186F9B,
     484                                                                                E195A2ED03BE251F00186F9B,
     485                                                                                E195A2EE03BE251F00186F9B,
     486                                                                                E195A2F003BE251F00186F9B,
     487                                                                                E195A2F103BE251F00186F9B,
     488                                                                                E195A2F303BE251F00186F9B,
     489                                                                                E195A2F403BE251F00186F9B,
     490                                                                                E195A2F503BE251F00186F9B,
     491                                                                                E195A2F603BE251F00186F9B,
     492                                                                                E195A2F703BE251F00186F9B,
     493                                                                                E195A2F803BE251F00186F9B,
     494                                                                                E195A2F903BE251F00186F9B,
     495                                                                                E195A2FA03BE251F00186F9B,
     496                                                                                E195A2FC03BE251F00186F9B,
     497                                                                                E195A2FE03BE251F00186F9B,
     498                                                                                E19DCB8503BE4A0A00B934BF,
     499                                                                                E19DCB8603BE4A0A00B934BF,
     500                                                                                E19DCB8703BE4A0A00B934BF,
     501                                                                                E19DCB8903BE4A0A00B934BF,
     502                                                                                E19DCB8A03BE4A0A00B934BF,
     503                                                                                E19DCB8B03BE4A0A00B934BF,
     504                                                                                E19DCB8C03BE4A0A00B934BF,
     505                                                                                E19DCB8E03BE4A0A00B934BF,
     506                                                                                E19DCB9003BE4A0A00B934BF,
     507                                                                                E19DCB9103BE4A0A00B934BF,
     508                                                                                E19DCB9303BE4A0A00B934BF,
     509                                                                                E19DCB9403BE4A0A00B934BF,
     510                                                                                E19DCB9503BE4A0A00B934BF,
     511                                                                                E19DCB9603BE4A0A00B934BF,
     512                                                                                E19DCB9703BE4A0A00B934BF,
     513                                                                                E19DCB9803BE4A0A00B934BF,
     514                                                                                E19DCB9903BE4A0A00B934BF,
     515                                                                                E19DCB9A03BE4A0A00B934BF,
     516                                                                                E19DCB9B03BE4A0A00B934BF,
     517                                                                                E19DCB9C03BE4A0A00B934BF,
     518                                                                                E19DCB9D03BE4A0A00B934BF,
     519                                                                                E19DCB9E03BE4A0A00B934BF,
     520                                                                                E19DCB9F03BE4A0A00B934BF,
     521                                                                                E19DCBA003BE4A0A00B934BF,
     522                                                                                E19DCBA103BE4A0A00B934BF,
     523                                                                                E19DCBA203BE4A0A00B934BF,
     524                                                                                E19DCBA303BE4A0A00B934BF,
     525                                                                                E19DCBA403BE4A0A00B934BF,
     526                                                                                E19DCBA503BE4A0A00B934BF,
     527                                                                                E19DCBA603BE4A0A00B934BF,
     528                                                                                E19DCBA703BE4A0A00B934BF,
     529                                                                                E19DCBA803BE4A0A00B934BF,
     530                                                                                E19DCBA903BE4A0A00B934BF,
     531                                                                                E19DCBAA03BE4A0A00B934BF,
     532                                                                                E19DCBAB03BE4A0A00B934BF,
     533                                                                                E19DCBAC03BE4A0A00B934BF,
     534                                                                                E19DCBAD03BE4A0A00B934BF,
     535                                                                                E19DCBAE03BE4A0A00B934BF,
     536                                                                                E19DCBAF03BE4A0A00B934BF,
     537                                                                                E19DCBB003BE4A0A00B934BF,
     538                                                                                E19DCBB103BE4A0A00B934BF,
     539                                                                                E19DCBB203BE4A0A00B934BF,
     540                                                                                E19DCBB603BE4A0A00B934BF,
     541                                                                                E19DCBB703BE4A0A00B934BF,
     542                                                                                E19DCBB803BE4A0A00B934BF,
     543                                                                                E19DCBB903BE4A0A00B934BF,
     544                                                                                E19DCBBA03BE4A0A00B934BF,
     545                                                                                E19DCBBB03BE4A0A00B934BF,
     546                                                                                E19DCBBC03BE4A0A00B934BF,
     547                                                                                E19DCBBD03BE4A0A00B934BF,
     548                                                                                E19DCCA203BE900300B934BF,
     549                                                                                E19DCCA303BE900300B934BF,
     550                                                                                E19DCCA403BE900300B934BF,
     551                                                                                E19DCCA503BE900300B934BF,
     552                                                                                E19DCCA603BE900300B934BF,
     553                                                                                E19DCCA703BE900300B934BF,
     554                                                                                E19DCCA803BE900300B934BF,
     555                                                                                E19DCCA903BE900300B934BF,
     556                                                                                E19DCCAB03BE900300B934BF,
     557                                                                                E19DCCAC03BE900300B934BF,
     558                                                                                E19DCCAE03BE900300B934BF,
     559                                                                                E19DCCAF03BE900300B934BF,
     560                                                                                E19DCCB003BE900300B934BF,
     561                                                                                E19DCCB103BE900300B934BF,
     562                                                                                E19DCCB203BE900300B934BF,
     563                                                                                E19DCCB303BE900300B934BF,
     564                                                                                E19DCCB403BE900300B934BF,
     565                                                                                E19DCCB503BE900300B934BF,
     566                                                                                E19DCCB603BE900300B934BF,
     567                                                                                E19DCCB703BE900300B934BF,
     568                                                                                E19DCCB903BE900300B934BF,
     569                                                                                E19DCCBA03BE900300B934BF,
     570                                                                                E19DCCBB03BE900300B934BF,
     571                                                                                E19DCCBC03BE900300B934BF,
     572                                                                                E19DCCBD03BE900300B934BF,
     573                                                                                E19DCCBE03BE900300B934BF,
     574                                                                                E19DCCBF03BE900300B934BF,
     575                                                                                E19DCCC003BE900300B934BF,
     576                                                                                E19DCCC103BE900300B934BF,
     577                                                                                E19DCCC203BE900300B934BF,
     578                                                                                E19DCCC303BE900300B934BF,
     579                                                                                E19DCCC403BE900300B934BF,
     580                                                                                E19DCCC503BE900300B934BF,
     581                                                                                E19DCCC603BE900300B934BF,
     582                                                                                E19DCCC703BE900300B934BF,
     583                                                                                E19DCCC803BE900300B934BF,
     584                                                                                E19DCCC903BE900300B934BF,
     585                                                                                E19DCCCA03BE900300B934BF,
     586                                                                                E19DCCCB03BE900300B934BF,
     587                                                                                E19DCCCD03BE900300B934BF,
     588                                                                                E19DCCCE03BE900300B934BF,
     589                                                                                E19DCCCF03BE900300B934BF,
     590                                                                                E19DCCD103BE900300B934BF,
     591                                                                                E19DCCD203BE900300B934BF,
     592                                                                                E19DCCD403BE900300B934BF,
     593                                                                                E19DCCD503BE900300B934BF,
     594                                                                                E19DCCD603BE900300B934BF,
     595                                                                                E19DCCD703BE900300B934BF,
     596                                                                                E19DCCD803BE900300B934BF,
     597                                                                                E19DCCD903BE900300B934BF,
     598                                                                                E19DCCDA03BE900300B934BF,
     599                                                                                E19DCCDB03BE900300B934BF,
     600                                                                                E1A9DEF703BF480F0089E8B2,
     601                                                                                E1A9DEF903BF480F0089E8B2,
     602                                                                                E1A9DEFB03BF480F0089E8B2,
     603                                                                                E1A9DEFC03BF480F0089E8B2,
     604                                                                                E1A9DEFD03BF480F0089E8B2,
     605                                                                                E1A9DEFE03BF480F0089E8B2,
     606                                                                                E1A9DF0003BF480F0089E8B2,
     607                                                                                E1A9DF0203BF480F0089E8B2,
     608                                                                                E1A9DF0303BF480F0089E8B2,
     609                                                                                E1A9DF0403BF480F0089E8B2,
     610                                                                                E1A9DF0503BF480F0089E8B2,
     611                                                                                E1A9DF0603BF480F0089E8B2,
     612                                                                                E1A9DF0703BF480F0089E8B2,
     613                                                                                E1A9DF0803BF480F0089E8B2,
     614                                                                                E1A9DF0A03BF480F0089E8B2,
     615                                                                                E11CD2E303BF9B3300C49BEF,
     616                                                                                E11CD2E503BF9B3300C49BEF,
     617                                                                                E11CD2E603BF9B3300C49BEF,
     618                                                                                E11CD2E703BF9B3300C49BEF,
     619                                                                                E11CD2E803BF9B3300C49BEF,
     620                                                                                E11CD2E903BF9B3300C49BEF,
     621                                                                                E11CD2EA03BF9B3300C49BEF,
     622                                                                                E11CD2EB03BF9B3300C49BEF,
     623                                                                                E11CD2EC03BF9B3300C49BEF,
     624                                                                                E11CD2ED03BF9B3300C49BEF,
     625                                                                                E11CD2EE03BF9B3300C49BEF,
     626                                                                                E11CD2EF03BF9B3300C49BEF,
     627                                                                                E11CD2F603BF9B3300C49BEF,
     628                                                                                E11CD2F803BF9B3300C49BEF,
     629                                                                                E11CD2FB03BF9B3300C49BEF,
     630                                                                                E17AED8B03C0F5D300B89ACF,
     631                                                                                E17AED8C03C0F5D300B89ACF,
     632                                                                                E17AED8D03C0F5D300B89ACF,
     633                                                                                E17AED8E03C0F5D300B89ACF,
     634                                                                                E17AED8F03C0F5D300B89ACF,
     635                                                                                E17AED9003C0F5D300B89ACF,
     636                                                                                E17AED9103C0F5D300B89ACF,
     637                                                                                E17AED9203C0F5D300B89ACF,
     638                                                                                E17AED9303C0F5D300B89ACF,
     639                                                                                E17AED9403C0F5D300B89ACF,
     640                                                                                E17AED9503C0F5D300B89ACF,
     641                                                                                E17AED9603C0F5D300B89ACF,
     642                                                                                E17AED9703C0F5D300B89ACF,
     643                                                                                E17AED9803C0F5D300B89ACF,
     644                                                                                E17AED9903C0F5D300B89ACF,
     645                                                                                E17AED9A03C0F5D300B89ACF,
     646                                                                                E17AED9B03C0F5D300B89ACF,
     647                                                                                E17AED9C03C0F5D300B89ACF,
     648                                                                                E17AED9D03C0F5D300B89ACF,
     649                                                                                E17AED9E03C0F5D300B89ACF,
     650                                                                                E17AED9F03C0F5D300B89ACF,
     651                                                                                E17AEDA003C0F5D300B89ACF,
     652                                                                                E17AEDA103C0F5D300B89ACF,
     653                                                                                E17AEDA203C0F5D300B89ACF,
     654                                                                                E17AEDA303C0F5D300B89ACF,
     655                                                                                E17AEDA403C0F5D300B89ACF,
     656                                                                                E17AEDA503C0F5D300B89ACF,
     657                                                                                E17AEDA603C0F5D300B89ACF,
     658                                                                                E17AEDA703C0F5D300B89ACF,
     659                                                                                E17AEDA803C0F5D300B89ACF,
     660                                                                                E17AEDA903C0F5D300B89ACF,
     661                                                                                E17AEDAA03C0F5D300B89ACF,
     662                                                                                E17AEDAB03C0F5D300B89ACF,
     663                                                                                E17AEDAC03C0F5D300B89ACF,
     664                                                                                E17AEDAD03C0F5D300B89ACF,
     665                                                                                E17AEDAE03C0F5D300B89ACF,
     666                                                                                E17AEDAF03C0F5D300B89ACF,
     667                                                                                E17AEDB003C0F5D300B89ACF,
     668                                                                                E17AEDB103C0F5D300B89ACF,
     669                                                                                E17AEDB203C0F5D300B89ACF,
     670                                                                                E17AEDB303C0F5D300B89ACF,
     671                                                                                E17AEDB403C0F5D300B89ACF,
     672                                                                                E17AEDB503C0F5D300B89ACF,
     673                                                                                E17AEDB603C0F5D300B89ACF,
     674                                                                                E17AEDB703C0F5D300B89ACF,
     675                                                                                E17AEDB803C0F5D300B89ACF,
     676                                                                                E17AEDB903C0F5D300B89ACF,
     677                                                                                E17AEDBA03C0F5D300B89ACF,
     678                                                                                E17AEDBB03C0F5D300B89ACF,
     679                                                                                E17AEDBC03C0F5D300B89ACF,
     680                                                                                E17AEDBD03C0F5D300B89ACF,
     681                                                                                E17AEDBE03C0F5D300B89ACF,
     682                                                                                E17AEDBF03C0F5D300B89ACF,
     683                                                                                E17AEDC003C0F5D300B89ACF,
     684                                                                                E17AEDC103C0F5D300B89ACF,
     685                                                                                E17AEDC203C0F5D300B89ACF,
     686                                                                                E17AEDC303C0F5D300B89ACF,
     687                                                                                E17AEDC403C0F5D300B89ACF,
     688                                                                                E17AEDC503C0F5D300B89ACF,
     689                                                                                E17AEDC603C0F5D300B89ACF,
     690                                                                                E17AEDC703C0F5D300B89ACF,
     691                                                                                E17AEDC803C0F5D300B89ACF,
     692                                                                                E17AEDC903C0F5D300B89ACF,
     693                                                                                E117A4B203C3E9C600E10BA2,
     694                                                                                E117A4B303C3E9C600E10BA2,
     695                                                                                E117A4B403C3E9C600E10BA2,
     696                                                                                E1096EB803C3EDB0009B92C1,
     697                                                                        );
     698                                                                };
    745699                                                                NavCount = 1;
    746700                                                                NavGeometry0 = {
    747                                                                         Frame = "{{0, 0}, {150, 530}}";
     701                                                                        Frame = "{{0, 0}, {689, 635}}";
    748702                                                                        NavBarVisible = YES;
    749703                                                                };
     704                                                                NavSplitVertical = NO;
    750705                                                        };
    751706                                                        SplitCount = 1;
    752                                                         Tab0 = {
     707                                                        Tab1 = {
    753708                                                                Debugger = {
    754709                                                                        Split0 = {
     
    760715                                                                LauncherConfigVersion = 7;
    761716                                                        };
    762                                                         Tab1 = {
     717                                                        Tab2 = {
    763718                                                                LauncherConfigVersion = 3;
    764719                                                                Runner = {
    765720                                                                };
    766721                                                        };
    767                                                         TabCount = 4;
     722                                                        TabCount = 5;
     723                                                };
     724                                                SplitCount = 1;
     725                                                Tab1 = {
     726                                                        OptionsSetName = "Flat, project classes";
     727                                                };
     728                                                TabCount = 5;
     729                                        };
     730                                },
     731                                {
     732                                        LeftSlideOut = {
     733                                                Split0 = {
     734                                                        Split0 = {
     735                                                                NavCount = 1;
     736                                                                NavGeometry0 = {
     737                                                                        Frame = "{{0, 0}, {945, 150}}";
     738                                                                        NavBarVisible = YES;
     739                                                                };
     740                                                                NavSplitVertical = NO;
     741                                                        };
     742                                                        SplitCount = 1;
     743                                                        Tab1 = {
     744                                                                Debugger = {
     745                                                                        Split0 = {
     746                                                                                SplitCount = 2;
     747                                                                        };
     748                                                                        SplitCount = 1;
     749                                                                        TabCount = 2;
     750                                                                };
     751                                                                LauncherConfigVersion = 7;
     752                                                        };
     753                                                        Tab2 = {
     754                                                                LauncherConfigVersion = 3;
     755                                                                Runner = {
     756                                                                };
     757                                                        };
     758                                                        TabCount = 5;
    768759                                                };
    769760                                                SplitCount = 1;
     
    780771                                                                NavCount = 1;
    781772                                                                NavGeometry0 = {
    782                                                                         Frame = "{{0, 0}, {973, 150}}";
     773                                                                        Frame = "{{0, 0}, {769, 153}}";
    783774                                                                        NavBarVisible = YES;
    784775                                                                };
     776                                                                NavSplitVertical = NO;
    785777                                                        };
    786778                                                        SplitCount = 1;
    787                                                         Tab0 = {
     779                                                        Tab1 = {
    788780                                                                Debugger = {
    789781                                                                        Split0 = {
     
    795787                                                                LauncherConfigVersion = 7;
    796788                                                        };
    797                                                         Tab1 = {
     789                                                        Tab2 = {
    798790                                                                LauncherConfigVersion = 3;
    799791                                                                Runner = {
    800792                                                                };
    801793                                                        };
    802                                                         TabCount = 4;
     794                                                        TabCount = 5;
    803795                                                };
    804796                                                SplitCount = 1;
     
    814806                                                        Split0 = {
    815807                                                                NavContent0 = {
    816                                                                         bookmark = F562F80B037E5D2101AEEDB1;
     808                                                                        bookmark = E1096EC303C3F504009B92C1;
    817809                                                                        history = (
    818                                                                                 F5B163A5037E543A01AEEDB1,
     810                                                                                E17AEDCC03C0F5D300B89ACF,
     811                                                                                E117A4B803C3E9C600E10BA2,
     812                                                                                E1096EBB03C3EDB0009B92C1,
     813                                                                        );
     814                                                                        prevStack = (
     815                                                                                E17AEDCE03C0F5D300B89ACF,
     816                                                                                E17AEDCF03C0F5D300B89ACF,
     817                                                                                E117A4BA03C3E9C600E10BA2,
    819818                                                                        );
    820819                                                                };
    821820                                                                NavCount = 1;
    822821                                                                NavGeometry0 = {
    823                                                                         Frame = "{{0, 0}, {668, 621}}";
     822                                                                        Frame = "{{0, 0}, {749, 201}}";
    824823                                                                        NavBarVisible = YES;
    825824                                                                };
     825                                                                NavSplitVertical = NO;
    826826                                                        };
    827827                                                        SplitCount = 1;
    828                                                         Tab0 = {
     828                                                        Tab1 = {
    829829                                                                Debugger = {
    830830                                                                        Split0 = {
     
    836836                                                                LauncherConfigVersion = 7;
    837837                                                        };
    838                                                         Tab1 = {
     838                                                        Tab2 = {
    839839                                                                LauncherConfigVersion = 3;
    840840                                                                Runner = {
    841841                                                                };
    842842                                                        };
    843                                                         TabCount = 4;
     843                                                        TabCount = 5;
    844844                                                };
    845845                                                SplitCount = 1;
     
    854854                                                Split0 = {
    855855                                                        Split0 = {
     856                                                                NavContent0 = {
     857                                                                        bookmark = E1096EC403C3F504009B92C1;
     858                                                                        history = (
     859                                                                                E1096EBC03C3EDB0009B92C1,
     860                                                                        );
     861                                                                };
    856862                                                                NavCount = 1;
    857863                                                                NavGeometry0 = {
    858                                                                         Frame = "{{0, 0}, {618, 150}}";
     864                                                                        Frame = "{{0, 0}, {668, 621}}";
    859865                                                                        NavBarVisible = YES;
    860866                                                                };
     867                                                                NavSplitVertical = NO;
    861868                                                        };
    862869                                                        SplitCount = 1;
    863                                                         Tab0 = {
     870                                                        Tab1 = {
    864871                                                                Debugger = {
    865872                                                                        Split0 = {
     
    871878                                                                LauncherConfigVersion = 7;
    872879                                                        };
    873                                                         Tab1 = {
     880                                                        Tab2 = {
    874881                                                                LauncherConfigVersion = 3;
    875882                                                                Runner = {
    876883                                                                };
    877884                                                        };
    878                                                         TabCount = 4;
     885                                                        TabCount = 5;
     886                                                };
     887                                                SplitCount = 1;
     888                                                Tab1 = {
     889                                                        OptionsSetName = "Hierarchy, all classes";
     890                                                };
     891                                                TabCount = 5;
     892                                        };
     893                                },
     894                                {
     895                                        LeftSlideOut = {
     896                                                Split0 = {
     897                                                        Split0 = {
     898                                                                NavContent0 = {
     899                                                                        bookmark = E1096EC503C3F504009B92C1;
     900                                                                        history = (
     901                                                                                E1096EBD03C3EDB0009B92C1,
     902                                                                        );
     903                                                                };
     904                                                                NavCount = 1;
     905                                                                NavGeometry0 = {
     906                                                                        Frame = "{{0, 0}, {668, 621}}";
     907                                                                        NavBarVisible = YES;
     908                                                                };
     909                                                                NavSplitVertical = NO;
     910                                                        };
     911                                                        SplitCount = 1;
     912                                                        Tab1 = {
     913                                                                Debugger = {
     914                                                                        Split0 = {
     915                                                                                SplitCount = 2;
     916                                                                        };
     917                                                                        SplitCount = 1;
     918                                                                        TabCount = 2;
     919                                                                };
     920                                                                LauncherConfigVersion = 7;
     921                                                        };
     922                                                        Tab2 = {
     923                                                                LauncherConfigVersion = 3;
     924                                                                Runner = {
     925                                                                };
     926                                                        };
     927                                                        TabCount = 5;
    879928                                                };
    880929                                                SplitCount = 1;
     
    888937                        PBXWorkspaceGeometries = (
    889938                                {
    890                                         ContentSize = "{352, 553}";
     939                                        ContentSize = "{968, 658}";
    891940                                        LeftSlideOut = {
    892941                                                ActiveTab = 0;
    893                                                 Collapsed = YES;
    894                                                 Frame = "{{0, 23}, {352, 530}}";
     942                                                ActiveTabName = PBXGroupTreeModule;
     943                                                Collapsed = NO;
     944                                                Frame = "{{0, 23}, {968, 635}}";
    895945                                                Split0 = {
    896946                                                        Collapsed = NO;
    897                                                         Frame = "{{1e+06, 1e+06}, {0, 530}}";
     947                                                        Frame = "{{279, 0}, {689, 635}}";
    898948                                                        Split0 = {
    899                                                                 Frame = "{{0, 0}, {0, 530}}";
     949                                                                Frame = "{{0, 0}, {689, 635}}";
    900950                                                        };
    901951                                                        SplitCount = 1;
    902952                                                        Tab0 = {
     953                                                                Frame = "{{0, 0}, {681, 289}}";
     954                                                        };
     955                                                        Tab1 = {
    903956                                                                Debugger = {
    904957                                                                        Collapsed = NO;
    905                                                                         Frame = "{{0, 0}, {484, 208}}";
     958                                                                        Frame = "{{0, 0}, {681, 150}}";
    906959                                                                        Split0 = {
    907                                                                                 Frame = "{{0, 24}, {484, 184}}";
     960                                                                                Frame = "{{0, 24}, {681, 126}}";
    908961                                                                                Split0 = {
    909                                                                                         Frame = "{{0, 0}, {236, 184}}";
     962                                                                                        Frame = "{{0, 0}, {333, 126}}";
    910963                                                                                };
    911964                                                                                Split1 = {
     
    916969                                                                                                85,
    917970                                                                                                Summary,
    918                                                                                                 62.123,
     971                                                                                                105.123,
    919972                                                                                        );
    920                                                                                         Frame = "{{245, 0}, {239, 184}}";
     973                                                                                        Frame = "{{342, 0}, {339, 126}}";
    921974                                                                                };
    922975                                                                                SplitCount = 2;
     
    932985                                                                        TabsVisible = YES;
    933986                                                                };
    934                                                                 Frame = "{{0, 0}, {484, 208}}";
     987                                                                Frame = "{{0, 0}, {681, 120}}";
    935988                                                                LauncherConfigVersion = 7;
    936989                                                        };
    937                                                         Tab1 = {
    938                                                                 Frame = "{{0, 0}, {664, 208}}";
     990                                                        Tab2 = {
     991                                                                Frame = "{{0, 0}, {681, 234}}";
    939992                                                                LauncherConfigVersion = 3;
    940993                                                                Runner = {
    941                                                                         Frame = "{{0, 0}, {664, 208}}";
     994                                                                        Frame = "{{0, 0}, {681, 234}}";
    942995                                                                };
    943996                                                        };
    944                                                         Tab2 = {
    945                                                                 BuildMessageFrame = "{{0, 0}, {666, 43}}";
    946                                                                 BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    947                                                                 Frame = "{{0, 0}, {664, 50}}";
     997                                                        Tab3 = {
     998                                                                BuildMessageFrame = "{{0, 0}, {683, 205}}";
     999                                                                BuildTranscriptFrame = "{{0, 214}, {683, 2}}";
     1000                                                                BuildTranscriptFrameExpanded = YES;
     1001                                                                Frame = "{{0, 0}, {681, 238}}";
    9481002                                                        };
    949                                                         Tab3 = {
     1003                                                        Tab4 = {
    9501004                                                                Frame = "{{0, 0}, {612, 295}}";
    9511005                                                        };
    952                                                         TabCount = 4;
     1006                                                        TabCount = 5;
    9531007                                                        TabsVisible = NO;
    9541008                                                };
    9551009                                                SplitCount = 1;
    9561010                                                Tab0 = {
    957                                                         Frame = "{{0, 0}, {328, 530}}";
     1011                                                        Frame = "{{0, 0}, {255, 635}}";
    9581012                                                        GroupTreeTableConfiguration = (
    9591013                                                                TargetStatusColumn,
    9601014                                                                18,
    9611015                                                                MainColumn,
    962                                                                 295,
     1016                                                                222,
    9631017                                                        );
    9641018                                                };
    9651019                                                Tab1 = {
    966                                                         ClassesFrame = "{{0, 0}, {343, 348}}";
     1020                                                        ClassesFrame = "{{0, 0}, {235, 381}}";
    9671021                                                        ClassesTreeTableConfiguration = (
    9681022                                                                PBXBookColumnIdentifier,
    9691023                                                                20,
    9701024                                                                PBXClassColumnIdentifier,
    971                                                                 300,
     1025                                                                192,
    9721026                                                        );
    973                                                         Frame = "{{0, 0}, {341, 578}}";
    974                                                         MembersFrame = "{{0, 357}, {343, 221}}";
     1027                                                        Frame = "{{0, 0}, {233, 635}}";
     1028                                                        MembersFrame = "{{0, 390}, {235, 245}}";
    9751029                                                        MembersTreeTableConfiguration = (
    9761030                                                                PBXBookColumnIdentifier,
    9771031                                                                20,
    9781032                                                                PBXMethodColumnIdentifier,
    979                                                                 299,
     1033                                                                191,
    9801034                                                        );
    9811035                                                };
    9821036                                                Tab2 = {
    983                                                         Frame = "{{0, 0}, {319, 576}}";
     1037                                                        Frame = "{{0, 0}, {217, 635}}";
    9841038                                                };
    9851039                                                Tab3 = {
    986                                                         Frame = "{{0, 0}, {341, 578}}";
     1040                                                        Frame = "{{0, 0}, {239, 554}}";
    9871041                                                        TargetTableConfiguration = (
    9881042                                                                ActiveObject,
    9891043                                                                16,
    9901044                                                                ObjectNames,
    991                                                                 308.296,
     1045                                                                206.296,
    9921046                                                        );
    9931047                                                };
     
    9951049                                                        BreakpointsTreeTableConfiguration = (
    9961050                                                                breakpointColumn,
    997                                                                 266,
     1051                                                                197,
    9981052                                                                enabledColumn,
    9991053                                                                31,
    10001054                                                        );
    1001                                                         Frame = "{{0, 0}, {319, 576}}";
     1055                                                        Frame = "{{0, 0}, {250, 635}}";
    10021056                                                };
    10031057                                                TabCount = 5;
    10041058                                                TabsVisible = YES;
    10051059                                        };
     1060                                        NavBarShownByDefault = YES;
    10061061                                        StatusViewVisible = YES;
    1007                                         Template = F5E465990156DFB90DCA290F;
     1062                                        Template = 64ABBB4501FA494900185B06;
    10081063                                        ToolbarVisible = YES;
    1009                                         WindowLocation = "{20, 551}";
     1064                                        WindowLocation = "{15, 105}";
    10101065                                },
    10111066                                {
    1012                                         ContentSize = "{973, 164}";
     1067                                        ContentSize = "{945, 158}";
    10131068                                        LeftSlideOut = {
    10141069                                                Collapsed = NO;
    1015                                                 Frame = "{{0, 23}, {973, 141}}";
     1070                                                Frame = "{{0, 23}, {945, 135}}";
    10161071                                                Split0 = {
    10171072                                                        ActiveTab = 1;
    1018                                                         Collapsed = YES;
    1019                                                         Frame = "{{0, 0}, {973, 141}}";
     1073                                                        ActiveTabName = PBXRunSessionModule;
     1074                                                        Collapsed = NO;
     1075                                                        Frame = "{{0, 0}, {945, 135}}";
    10201076                                                        Split0 = {
    1021                                                                 Frame = "{{1e+06, 1e+06}, {973, 0}}";
     1077                                                                Frame = "{{0, 133}, {945, 2}}";
    10221078                                                        };
    10231079                                                        SplitCount = 1;
    10241080                                                        Tab0 = {
     1081                                                                Frame = "{{0, 0}, {804, 321}}";
     1082                                                        };
     1083                                                        Tab1 = {
    10251084                                                                Debugger = {
    10261085                                                                        Collapsed = NO;
    1027                                                                         Frame = "{{0, 0}, {804, 321}}";
     1086                                                                        Frame = "{{0, 0}, {594, 274}}";
    10281087                                                                        Split0 = {
    1029                                                                                 Frame = "{{0, 24}, {804, 297}}";
     1088                                                                                Frame = "{{0, 24}, {594, 250}}";
    10301089                                                                                Split0 = {
    1031                                                                                         Frame = "{{0, 0}, {394, 297}}";
     1090                                                                                        Frame = "{{0, 0}, {290, 250}}";
    10321091                                                                                };
    10331092                                                                                Split1 = {
    10341093                                                                                        DebugVariablesTableConfiguration = (
    10351094                                                                                                Name,
    1036                                                                                                 102.803,
     1095                                                                                                123,
    10371096                                                                                                Value,
    1038                                                                                                 125.074,
     1097                                                                                                85,
    10391098                                                                                                Summary,
    1040                                                                                                 147.123,
     1099                                                                                                62.123,
    10411100                                                                                        );
    1042                                                                                         Frame = "{{403, 0}, {401, 297}}";
     1101                                                                                        Frame = "{{299, 0}, {295, 250}}";
    10431102                                                                                };
    10441103                                                                                SplitCount = 2;
     
    10541113                                                                        TabsVisible = YES;
    10551114                                                                };
    1056                                                                 Frame = "{{0, 0}, {804, 321}}";
     1115                                                                Frame = "{{0, 0}, {594, 274}}";
    10571116                                                                LauncherConfigVersion = 7;
    10581117                                                        };
    1059                                                         Tab1 = {
    1060                                                                 Frame = "{{0, 0}, {973, 135}}";
     1118                                                        Tab2 = {
     1119                                                                Frame = "{{0, 0}, {945, 127}}";
    10611120                                                                LauncherConfigVersion = 3;
    10621121                                                                Runner = {
    1063                                                                         Frame = "{{0, 0}, {973, 135}}";
     1122                                                                        Frame = "{{0, 0}, {945, 127}}";
    10641123                                                                };
    10651124                                                        };
    1066                                                         Tab2 = {
    1067                                                                 BuildMessageFrame = "{{0, 0}, {806, 237}}";
    1068                                                                 BuildTranscriptFrame = "{{0, 246}, {806, 3}}";
    1069                                                                 Frame = "{{0, 0}, {804, 247}}";
    1070                                                         };
    10711125                                                        Tab3 = {
     1126                                                                BuildMessageFrame = "{{0, 0}, {614, 262}}";
     1127                                                                BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
     1128                                                                BuildTranscriptFrameExpanded = YES;
    10721129                                                                Frame = "{{0, 0}, {612, 295}}";
    10731130                                                        };
    1074                                                         TabCount = 4;
     1131                                                        Tab4 = {
     1132                                                                Frame = "{{0, 0}, {612, 295}}";
     1133                                                        };
     1134                                                        TabCount = 5;
    10751135                                                        TabsVisible = NO;
    10761136                                                };
     
    11261186                                                TabsVisible = NO;
    11271187                                        };
     1188                                        NavBarShownByDefault = YES;
    11281189                                        StatusViewVisible = YES;
    11291190                                        Template = F5534CB2020F3F8A0DCA290F;
    11301191                                        ToolbarVisible = YES;
    1131                                         WindowLocation = "{13, 43}";
     1192                                        WindowLocation = "{67, 57}";
     1193                                },
     1194                                {
     1195                                        ContentSize = "{769, 299}";
     1196                                        LeftSlideOut = {
     1197                                                Collapsed = NO;
     1198                                                Frame = "{{0, 23}, {769, 276}}";
     1199                                                Split0 = {
     1200                                                        ActiveTab = 2;
     1201                                                        ActiveTabName = PBXBuildResultsModule;
     1202                                                        Collapsed = NO;
     1203                                                        Frame = "{{0, 0}, {769, 276}}";
     1204                                                        Split0 = {
     1205                                                                Frame = "{{0, 123}, {769, 153}}";
     1206                                                        };
     1207                                                        SplitCount = 1;
     1208                                                        Tab0 = {
     1209                                                                Frame = "{{0, 0}, {952, 321}}";
     1210                                                        };
     1211                                                        Tab1 = {
     1212                                                                Debugger = {
     1213                                                                        Collapsed = NO;
     1214                                                                        Frame = "{{0, 0}, {781, 452}}";
     1215                                                                        Split0 = {
     1216                                                                                Frame = "{{0, 24}, {781, 428}}";
     1217                                                                                Split0 = {
     1218                                                                                        Frame = "{{0, 0}, {383, 428}}";
     1219                                                                                };
     1220                                                                                Split1 = {
     1221                                                                                        DebugVariablesTableConfiguration = (
     1222                                                                                                Name,
     1223                                                                                                123,
     1224                                                                                                Value,
     1225                                                                                                85,
     1226                                                                                                Summary,
     1227                                                                                                155.123,
     1228                                                                                        );
     1229                                                                                        Frame = "{{392, 0}, {389, 428}}";
     1230                                                                                };
     1231                                                                                SplitCount = 2;
     1232                                                                        };
     1233                                                                        SplitCount = 1;
     1234                                                                        Tab0 = {
     1235                                                                                Frame = "{{0, 0}, {100, 50}}";
     1236                                                                        };
     1237                                                                        Tab1 = {
     1238                                                                                Frame = "{{0, 0}, {100, 50}}";
     1239                                                                        };
     1240                                                                        TabCount = 2;
     1241                                                                        TabsVisible = YES;
     1242                                                                };
     1243                                                                Frame = "{{0, 0}, {781, 452}}";
     1244                                                                LauncherConfigVersion = 7;
     1245                                                        };
     1246                                                        Tab2 = {
     1247                                                                Frame = "{{0, 0}, {685, 215}}";
     1248                                                                LauncherConfigVersion = 3;
     1249                                                                Runner = {
     1250                                                                        Frame = "{{0, 0}, {685, 215}}";
     1251                                                                };
     1252                                                        };
     1253                                                        Tab3 = {
     1254                                                                BuildMessageFrame = "{{0, 0}, {771, 84}}";
     1255                                                                BuildTranscriptFrame = "{{0, 93}, {771, 2}}";
     1256                                                                BuildTranscriptFrameExpanded = YES;
     1257                                                                Frame = "{{0, 0}, {769, 117}}";
     1258                                                        };
     1259                                                        Tab4 = {
     1260                                                                Frame = "{{0, 0}, {612, 295}}";
     1261                                                        };
     1262                                                        TabCount = 5;
     1263                                                        TabsVisible = NO;
     1264                                                };
     1265                                                SplitCount = 1;
     1266                                                Tab0 = {
     1267                                                        Frame = "{{0, 0}, {300, 533}}";
     1268                                                        GroupTreeTableConfiguration = (
     1269                                                                TargetStatusColumn,
     1270                                                                18,
     1271                                                                MainColumn,
     1272                                                                267,
     1273                                                        );
     1274                                                };
     1275                                                Tab1 = {
     1276                                                        ClassesFrame = "{{0, 0}, {280, 398}}";
     1277                                                        ClassesTreeTableConfiguration = (
     1278                                                                PBXBookColumnIdentifier,
     1279                                                                20,
     1280                                                                PBXClassColumnIdentifier,
     1281                                                                237,
     1282                                                        );
     1283                                                        Frame = "{{0, 0}, {278, 659}}";
     1284                                                        MembersFrame = "{{0, 407}, {280, 252}}";
     1285                                                        MembersTreeTableConfiguration = (
     1286                                                                PBXBookColumnIdentifier,
     1287                                                                20,
     1288                                                                PBXMethodColumnIdentifier,
     1289                                                                236,
     1290                                                        );
     1291                                                };
     1292                                                Tab2 = {
     1293                                                        Frame = "{{0, 0}, {200, 100}}";
     1294                                                };
     1295                                                Tab3 = {
     1296                                                        Frame = "{{0, 0}, {200, 100}}";
     1297                                                        TargetTableConfiguration = (
     1298                                                                ActiveObject,
     1299                                                                16,
     1300                                                                ObjectNames,
     1301                                                                202.296,
     1302                                                        );
     1303                                                };
     1304                                                Tab4 = {
     1305                                                        BreakpointsTreeTableConfiguration = (
     1306                                                                breakpointColumn,
     1307                                                                197,
     1308                                                                enabledColumn,
     1309                                                                31,
     1310                                                        );
     1311                                                        Frame = "{{0, 0}, {250, 100}}";
     1312                                                };
     1313                                                TabCount = 5;
     1314                                                TabsVisible = NO;
     1315                                        };
     1316                                        NavBarShownByDefault = YES;
     1317                                        StatusViewVisible = YES;
     1318                                        Template = F5314676015831810DCA290F;
     1319                                        ToolbarVisible = YES;
     1320                                        WindowLocation = "{490, 68}";
     1321                                },
     1322                                {
     1323                                        ContentSize = "{773, 558}";
     1324                                        LeftSlideOut = {
     1325                                                Collapsed = NO;
     1326                                                Frame = "{{0, 23}, {773, 535}}";
     1327                                                Split0 = {
     1328                                                        ActiveTab = 0;
     1329                                                        ActiveTabName = PBXDebugSessionModule;
     1330                                                        Collapsed = NO;
     1331                                                        Frame = "{{24, 0}, {749, 535}}";
     1332                                                        Split0 = {
     1333                                                                Frame = "{{0, 334}, {749, 201}}";
     1334                                                        };
     1335                                                        SplitCount = 1;
     1336                                                        Tab0 = {
     1337                                                                Frame = "{{0, 0}, {749, 267}}";
     1338                                                        };
     1339                                                        Tab1 = {
     1340                                                                Debugger = {
     1341                                                                        ActiveTab = 0;
     1342                                                                        ActiveTabName = PBXDebugCLIModule;
     1343                                                                        Collapsed = NO;
     1344                                                                        Frame = "{{0, 0}, {749, 328}}";
     1345                                                                        Split0 = {
     1346                                                                                Frame = "{{0, 73}, {749, 255}}";
     1347                                                                                Split0 = {
     1348                                                                                        Frame = "{{0, 0}, {367, 255}}";
     1349                                                                                };
     1350                                                                                Split1 = {
     1351                                                                                        DebugVariablesTableConfiguration = (
     1352                                                                                                Name,
     1353                                                                                                123,
     1354                                                                                                Value,
     1355                                                                                                85,
     1356                                                                                                Summary,
     1357                                                                                                139.123,
     1358                                                                                        );
     1359                                                                                        Frame = "{{376, 0}, {373, 255}}";
     1360                                                                                };
     1361                                                                                SplitCount = 2;
     1362                                                                        };
     1363                                                                        SplitCount = 1;
     1364                                                                        Tab0 = {
     1365                                                                                Frame = "{{0, 0}, {749, 50}}";
     1366                                                                        };
     1367                                                                        Tab1 = {
     1368                                                                                Frame = "{{0, 0}, {749, 49}}";
     1369                                                                        };
     1370                                                                        TabCount = 2;
     1371                                                                        TabsVisible = YES;
     1372                                                                };
     1373                                                                Frame = "{{0, 0}, {749, 328}}";
     1374                                                                LauncherConfigVersion = 7;
     1375                                                        };
     1376                                                        Tab2 = {
     1377                                                                Frame = "{{0, 0}, {664, 50}}";
     1378                                                                LauncherConfigVersion = 3;
     1379                                                                Runner = {
     1380                                                                        Frame = "{{0, 0}, {664, 50}}";
     1381                                                                };
     1382                                                        };
     1383                                                        Tab3 = {
     1384                                                                BuildMessageFrame = "{{0, 0}, {614, 262}}";
     1385                                                                BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
     1386                                                                BuildTranscriptFrameExpanded = YES;
     1387                                                                Frame = "{{0, 0}, {612, 295}}";
     1388                                                        };
     1389                                                        Tab4 = {
     1390                                                                Frame = "{{0, 0}, {612, 295}}";
     1391                                                        };
     1392                                                        TabCount = 5;
     1393                                                        TabsVisible = NO;
     1394                                                };
     1395                                                SplitCount = 1;
     1396                                                Tab0 = {
     1397                                                        Frame = "{{0, 0}, {313, 531}}";
     1398                                                        GroupTreeTableConfiguration = (
     1399                                                                TargetStatusColumn,
     1400                                                                18,
     1401                                                                MainColumn,
     1402                                                                280,
     1403                                                        );
     1404                                                };
     1405                                                Tab1 = {
     1406                                                        ClassesFrame = "{{0, 0}, {280, 398}}";
     1407                                                        ClassesTreeTableConfiguration = (
     1408                                                                PBXBookColumnIdentifier,
     1409                                                                20,
     1410                                                                PBXClassColumnIdentifier,
     1411                                                                237,
     1412                                                        );
     1413                                                        Frame = "{{0, 0}, {278, 659}}";
     1414                                                        MembersFrame = "{{0, 407}, {280, 252}}";
     1415                                                        MembersTreeTableConfiguration = (
     1416                                                                PBXBookColumnIdentifier,
     1417                                                                20,
     1418                                                                PBXMethodColumnIdentifier,
     1419                                                                236,
     1420                                                        );
     1421                                                };
     1422                                                Tab2 = {
     1423                                                        Frame = "{{0, 0}, {200, 100}}";
     1424                                                };
     1425                                                Tab3 = {
     1426                                                        Frame = "{{0, 0}, {200, 557}}";
     1427                                                        TargetTableConfiguration = (
     1428                                                                ActiveObject,
     1429                                                                16,
     1430                                                                ObjectNames,
     1431                                                                202.296,
     1432                                                        );
     1433                                                };
     1434                                                Tab4 = {
     1435                                                        BreakpointsTreeTableConfiguration = (
     1436                                                                breakpointColumn,
     1437                                                                197,
     1438                                                                enabledColumn,
     1439                                                                31,
     1440                                                        );
     1441                                                        Frame = "{{0, 0}, {250, 100}}";
     1442                                                };
     1443                                                TabCount = 5;
     1444                                                TabsVisible = YES;
     1445                                        };
     1446                                        NavBarShownByDefault = YES;
     1447                                        StatusViewVisible = YES;
     1448                                        Template = F5CA7ECC015C09990DCA290F;
     1449                                        ToolbarVisible = YES;
     1450                                        WindowLocation = "{436, 82}";
    11321451                                },
    11331452                                {
     
    11441463                                                        SplitCount = 1;
    11451464                                                        Tab0 = {
     1465                                                                Frame = "{{0, 0}, {484, 208}}";
     1466                                                        };
     1467                                                        Tab1 = {
    11461468                                                                Debugger = {
    11471469                                                                        Collapsed = NO;
    1148                                                                         Frame = "{{0, 0}, {484, 208}}";
     1470                                                                        Frame = "{{0, 0}, {664, 208}}";
    11491471                                                                        Split0 = {
    1150                                                                                 Frame = "{{0, 24}, {484, 184}}";
     1472                                                                                Frame = "{{0, 24}, {664, 184}}";
    11511473                                                                                Split0 = {
    1152                                                                                         Frame = "{{0, 0}, {236, 184}}";
     1474                                                                                        Frame = "{{0, 0}, {325, 184}}";
    11531475                                                                                };
    11541476                                                                                Split1 = {
     
    11591481                                                                                                85,
    11601482                                                                                                Summary,
    1161                                                                                                 62.123,
     1483                                                                                                96.123,
    11621484                                                                                        );
    1163                                                                                         Frame = "{{245, 0}, {239, 184}}";
     1485                                                                                        Frame = "{{334, 0}, {330, 184}}";
    11641486                                                                                };
    11651487                                                                                SplitCount = 2;
     
    11751497                                                                        TabsVisible = YES;
    11761498                                                                };
    1177                                                                 Frame = "{{0, 0}, {484, 208}}";
     1499                                                                Frame = "{{0, 0}, {664, 208}}";
    11781500                                                                LauncherConfigVersion = 7;
    11791501                                                        };
    1180                                                         Tab1 = {
    1181                                                                 Frame = "{{0, 0}, {664, 208}}";
     1502                                                        Tab2 = {
     1503                                                                Frame = "{{0, 0}, {664, 50}}";
    11821504                                                                LauncherConfigVersion = 3;
    11831505                                                                Runner = {
    1184                                                                         Frame = "{{0, 0}, {664, 208}}";
     1506                                                                        Frame = "{{0, 0}, {664, 50}}";
    11851507                                                                };
    11861508                                                        };
    1187                                                         Tab2 = {
    1188                                                                 BuildMessageFrame = "{{0, 0}, {666, 43}}";
    1189                                                                 BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    1190                                                                 Frame = "{{0, 0}, {664, 50}}";
    1191                                                         };
    11921509                                                        Tab3 = {
     1510                                                                BuildMessageFrame = "{{0, 0}, {614, 262}}";
     1511                                                                BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
     1512                                                                BuildTranscriptFrameExpanded = YES;
    11931513                                                                Frame = "{{0, 0}, {612, 295}}";
    11941514                                                        };
    1195                                                         TabCount = 4;
     1515                                                        Tab4 = {
     1516                                                                Frame = "{{0, 0}, {612, 295}}";
     1517                                                        };
     1518                                                        TabCount = 5;
    11961519                                                        TabsVisible = NO;
    11971520                                                };
     
    12471570                                                TabsVisible = NO;
    12481571                                        };
     1572                                        NavBarShownByDefault = YES;
    12491573                                        StatusViewVisible = NO;
    12501574                                        Template = F5CA7ECB015C094F0DCA290F;
    12511575                                        ToolbarVisible = NO;
    1252                                         WindowLocation = "{392, 503}";
     1576                                        WindowLocation = "{440, 73}";
    12531577                                },
    12541578                                {
    1255                                         ContentSize = "{618, 257}";
     1579                                        ContentSize = "{668, 621}";
    12561580                                        LeftSlideOut = {
    12571581                                                Collapsed = NO;
    1258                                                 Frame = "{{0, 23}, {618, 234}}";
     1582                                                Frame = "{{0, 0}, {668, 621}}";
    12591583                                                Split0 = {
    1260                                                         ActiveTab = 2;
    1261                                                         Collapsed = YES;
    1262                                                         Frame = "{{0, 0}, {618, 234}}";
     1584                                                        Collapsed = NO;
     1585                                                        Frame = "{{0, 0}, {668, 621}}";
    12631586                                                        Split0 = {
    1264                                                                 Frame = "{{1e+06, 1e+06}, {618, 0}}";
     1587                                                                Frame = "{{0, 0}, {668, 621}}";
    12651588                                                        };
    12661589                                                        SplitCount = 1;
    12671590                                                        Tab0 = {
     1591                                                                Frame = "{{0, 0}, {484, 208}}";
     1592                                                        };
     1593                                                        Tab1 = {
    12681594                                                                Debugger = {
    12691595                                                                        Collapsed = NO;
    1270                                                                         Frame = "{{0, 0}, {952, 321}}";
     1596                                                                        Frame = "{{0, 0}, {664, 208}}";
    12711597                                                                        Split0 = {
    1272                                                                                 Frame = "{{0, 24}, {952, 297}}";
     1598                                                                                Frame = "{{0, 24}, {664, 184}}";
    12731599                                                                                Split0 = {
    1274                                                                                         Frame = "{{0, 0}, {468, 297}}";
     1600                                                                                        Frame = "{{0, 0}, {325, 184}}";
    12751601                                                                                };
    12761602                                                                                Split1 = {
    12771603                                                                                        DebugVariablesTableConfiguration = (
    12781604                                                                                                Name,
    1279                                                                                                 126.803,
     1605                                                                                                123,
    12801606                                                                                                Value,
    1281                                                                                                 150.074,
     1607                                                                                                85,
    12821608                                                                                                Summary,
    1283                                                                                                 172.123,
     1609                                                                                                96.123,
    12841610                                                                                        );
    1285                                                                                         Frame = "{{477, 0}, {475, 297}}";
     1611                                                                                        Frame = "{{334, 0}, {330, 184}}";
    12861612                                                                                };
    12871613                                                                                SplitCount = 2;
     
    12971623                                                                        TabsVisible = YES;
    12981624                                                                };
    1299                                                                 Frame = "{{0, 0}, {952, 321}}";
     1625                                                                Frame = "{{0, 0}, {664, 208}}";
    13001626                                                                LauncherConfigVersion = 7;
    13011627                                                        };
    1302                                                         Tab1 = {
    1303                                                                 Frame = "{{0, 0}, {781, 452}}";
     1628                                                        Tab2 = {
     1629                                                                Frame = "{{0, 0}, {664, 50}}";
    13041630                                                                LauncherConfigVersion = 3;
    13051631                                                                Runner = {
    1306                                                                         Frame = "{{0, 0}, {781, 452}}";
     1632                                                                        Frame = "{{0, 0}, {664, 50}}";
    13071633                                                                };
    13081634                                                        };
    1309                                                         Tab2 = {
    1310                                                                 BuildMessageFrame = "{{0, 0}, {620, 123}}";
    1311                                                                 BuildTranscriptFrame = "{{0, 132}, {620, 98}}";
    1312                                                                 Frame = "{{0, 0}, {618, 228}}";
    1313                                                         };
    13141635                                                        Tab3 = {
     1636                                                                BuildMessageFrame = "{{0, 0}, {614, 262}}";
     1637                                                                BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
     1638                                                                BuildTranscriptFrameExpanded = YES;
    13151639                                                                Frame = "{{0, 0}, {612, 295}}";
    13161640                                                        };
    1317                                                         TabCount = 4;
     1641                                                        Tab4 = {
     1642                                                                Frame = "{{0, 0}, {612, 295}}";
     1643                                                        };
     1644                                                        TabCount = 5;
    13181645                                                        TabsVisible = NO;
    13191646                                                };
    13201647                                                SplitCount = 1;
    13211648                                                Tab0 = {
    1322                                                         Frame = "{{0, 0}, {300, 533}}";
     1649                                                        Frame = "{{0, 0}, {313, 531}}";
    13231650                                                        GroupTreeTableConfiguration = (
    13241651                                                                TargetStatusColumn,
    13251652                                                                18,
    13261653                                                                MainColumn,
    1327                                                                 267,
     1654                                                                280,
    13281655                                                        );
    13291656                                                };
     
    13491676                                                };
    13501677                                                Tab3 = {
    1351                                                         Frame = "{{0, 0}, {200, 100}}";
     1678                                                        Frame = "{{0, 0}, {200, 557}}";
    13521679                                                        TargetTableConfiguration = (
    13531680                                                                ActiveObject,
     
    13691696                                                TabsVisible = NO;
    13701697                                        };
    1371                                         StatusViewVisible = YES;
    1372                                         Template = F5314676015831810DCA290F;
    1373                                         ToolbarVisible = YES;
    1374                                         WindowLocation = "{427, 271}";
     1698                                        NavBarShownByDefault = YES;
     1699                                        StatusViewVisible = NO;
     1700                                        Template = F5CA7ECB015C094F0DCA290F;
     1701                                        ToolbarVisible = NO;
     1702                                        WindowLocation = "{208, 173}";
    13751703                                },
    13761704                        );
    1377                         PBXWorkspaceStateSaveDate = 59271904;
     1705                        PBXWorkspaceStateSaveDate = 63172038;
    13781706                };
    13791707                perUserProjectItems = {
    1380                         F562F80B037E5D2101AEEDB1 = F562F80B037E5D2101AEEDB1;
    1381                         F5B163A5037E543A01AEEDB1 = F5B163A5037E543A01AEEDB1;
     1708                        E1096EB603C3EDB0009B92C1 = E1096EB603C3EDB0009B92C1;
     1709                        E1096EB803C3EDB0009B92C1 = E1096EB803C3EDB0009B92C1;
     1710                        E1096EB903C3EDB0009B92C1 = E1096EB903C3EDB0009B92C1;
     1711                        E1096EBB03C3EDB0009B92C1 = E1096EBB03C3EDB0009B92C1;
     1712                        E1096EBC03C3EDB0009B92C1 = E1096EBC03C3EDB0009B92C1;
     1713                        E1096EBD03C3EDB0009B92C1 = E1096EBD03C3EDB0009B92C1;
     1714                        E1096EC203C3F504009B92C1 = E1096EC203C3F504009B92C1;
     1715                        E1096EC303C3F504009B92C1 = E1096EC303C3F504009B92C1;
     1716                        E1096EC403C3F504009B92C1 = E1096EC403C3F504009B92C1;
     1717                        E1096EC503C3F504009B92C1 = E1096EC503C3F504009B92C1;
     1718                        E117A4AC03C3E9C600E10BA2 = E117A4AC03C3E9C600E10BA2;
     1719                        E117A4AD03C3E9C600E10BA2 = E117A4AD03C3E9C600E10BA2;
     1720                        E117A4AE03C3E9C600E10BA2 = E117A4AE03C3E9C600E10BA2;
     1721                        E117A4AF03C3E9C600E10BA2 = E117A4AF03C3E9C600E10BA2;
     1722                        E117A4B003C3E9C600E10BA2 = E117A4B003C3E9C600E10BA2;
     1723                        E117A4B203C3E9C600E10BA2 = E117A4B203C3E9C600E10BA2;
     1724                        E117A4B303C3E9C600E10BA2 = E117A4B303C3E9C600E10BA2;
     1725                        E117A4B403C3E9C600E10BA2 = E117A4B403C3E9C600E10BA2;
     1726                        E117A4B803C3E9C600E10BA2 = E117A4B803C3E9C600E10BA2;
     1727                        E117A4BA03C3E9C600E10BA2 = E117A4BA03C3E9C600E10BA2;
     1728                        E11CD2CA03BF9B3300C49BEF = E11CD2CA03BF9B3300C49BEF;
     1729                        E11CD2D003BF9B3300C49BEF = E11CD2D003BF9B3300C49BEF;
     1730                        E11CD2D103BF9B3300C49BEF = E11CD2D103BF9B3300C49BEF;
     1731                        E11CD2D203BF9B3300C49BEF = E11CD2D203BF9B3300C49BEF;
     1732                        E11CD2D303BF9B3300C49BEF = E11CD2D303BF9B3300C49BEF;
     1733                        E11CD2D403BF9B3300C49BEF = E11CD2D403BF9B3300C49BEF;
     1734                        E11CD2D503BF9B3300C49BEF = E11CD2D503BF9B3300C49BEF;
     1735                        E11CD2D603BF9B3300C49BEF = E11CD2D603BF9B3300C49BEF;
     1736                        E11CD2D703BF9B3300C49BEF = E11CD2D703BF9B3300C49BEF;
     1737                        E11CD2D803BF9B3300C49BEF = E11CD2D803BF9B3300C49BEF;
     1738                        E11CD2E003BF9B3300C49BEF = E11CD2E003BF9B3300C49BEF;
     1739                        E11CD2E303BF9B3300C49BEF = E11CD2E303BF9B3300C49BEF;
     1740                        E11CD2E503BF9B3300C49BEF = E11CD2E503BF9B3300C49BEF;
     1741                        E11CD2E603BF9B3300C49BEF = E11CD2E603BF9B3300C49BEF;
     1742                        E11CD2E703BF9B3300C49BEF = E11CD2E703BF9B3300C49BEF;
     1743                        E11CD2E803BF9B3300C49BEF = E11CD2E803BF9B3300C49BEF;
     1744                        E11CD2E903BF9B3300C49BEF = E11CD2E903BF9B3300C49BEF;
     1745                        E11CD2EA03BF9B3300C49BEF = E11CD2EA03BF9B3300C49BEF;
     1746                        E11CD2EB03BF9B3300C49BEF = E11CD2EB03BF9B3300C49BEF;
     1747                        E11CD2EC03BF9B3300C49BEF = E11CD2EC03BF9B3300C49BEF;
     1748                        E11CD2ED03BF9B3300C49BEF = E11CD2ED03BF9B3300C49BEF;
     1749                        E11CD2EE03BF9B3300C49BEF = E11CD2EE03BF9B3300C49BEF;
     1750                        E11CD2EF03BF9B3300C49BEF = E11CD2EF03BF9B3300C49BEF;
     1751                        E11CD2F603BF9B3300C49BEF = E11CD2F603BF9B3300C49BEF;
     1752                        E11CD2F803BF9B3300C49BEF = E11CD2F803BF9B3300C49BEF;
     1753                        E11CD2FB03BF9B3300C49BEF = E11CD2FB03BF9B3300C49BEF;
     1754                        E17AED7203C0F5D300B89ACF = E17AED7203C0F5D300B89ACF;
     1755                        E17AED7303C0F5D300B89ACF = E17AED7303C0F5D300B89ACF;
     1756                        E17AED7403C0F5D300B89ACF = E17AED7403C0F5D300B89ACF;
     1757                        E17AED7503C0F5D300B89ACF = E17AED7503C0F5D300B89ACF;
     1758                        E17AED7603C0F5D300B89ACF = E17AED7603C0F5D300B89ACF;
     1759                        E17AED7703C0F5D300B89ACF = E17AED7703C0F5D300B89ACF;
     1760                        E17AED7803C0F5D300B89ACF = E17AED7803C0F5D300B89ACF;
     1761                        E17AED7903C0F5D300B89ACF = E17AED7903C0F5D300B89ACF;
     1762                        E17AED7A03C0F5D300B89ACF = E17AED7A03C0F5D300B89ACF;
     1763                        E17AED7B03C0F5D300B89ACF = E17AED7B03C0F5D300B89ACF;
     1764                        E17AED7C03C0F5D300B89ACF = E17AED7C03C0F5D300B89ACF;
     1765                        E17AED7D03C0F5D300B89ACF = E17AED7D03C0F5D300B89ACF;
     1766                        E17AED7E03C0F5D300B89ACF = E17AED7E03C0F5D300B89ACF;
     1767                        E17AED7F03C0F5D300B89ACF = E17AED7F03C0F5D300B89ACF;
     1768                        E17AED8003C0F5D300B89ACF = E17AED8003C0F5D300B89ACF;
     1769                        E17AED8103C0F5D300B89ACF = E17AED8103C0F5D300B89ACF;
     1770                        E17AED8203C0F5D300B89ACF = E17AED8203C0F5D300B89ACF;
     1771                        E17AED8303C0F5D300B89ACF = E17AED8303C0F5D300B89ACF;
     1772                        E17AED8403C0F5D300B89ACF = E17AED8403C0F5D300B89ACF;
     1773                        E17AED8503C0F5D300B89ACF = E17AED8503C0F5D300B89ACF;
     1774                        E17AED8603C0F5D300B89ACF = E17AED8603C0F5D300B89ACF;
     1775                        E17AED8703C0F5D300B89ACF = E17AED8703C0F5D300B89ACF;
     1776                        E17AED8803C0F5D300B89ACF = E17AED8803C0F5D300B89ACF;
     1777                        E17AED8903C0F5D300B89ACF = E17AED8903C0F5D300B89ACF;
     1778                        E17AED8B03C0F5D300B89ACF = E17AED8B03C0F5D300B89ACF;
     1779                        E17AED8C03C0F5D300B89ACF = E17AED8C03C0F5D300B89ACF;
     1780                        E17AED8D03C0F5D300B89ACF = E17AED8D03C0F5D300B89ACF;
     1781                        E17AED8E03C0F5D300B89ACF = E17AED8E03C0F5D300B89ACF;
     1782                        E17AED8F03C0F5D300B89ACF = E17AED8F03C0F5D300B89ACF;
     1783                        E17AED9003C0F5D300B89ACF = E17AED9003C0F5D300B89ACF;
     1784                        E17AED9103C0F5D300B89ACF = E17AED9103C0F5D300B89ACF;
     1785                        E17AED9203C0F5D300B89ACF = E17AED9203C0F5D300B89ACF;
     1786                        E17AED9303C0F5D300B89ACF = E17AED9303C0F5D300B89ACF;
     1787                        E17AED9403C0F5D300B89ACF = E17AED9403C0F5D300B89ACF;
     1788                        E17AED9503C0F5D300B89ACF = E17AED9503C0F5D300B89ACF;
     1789                        E17AED9603C0F5D300B89ACF = E17AED9603C0F5D300B89ACF;
     1790                        E17AED9703C0F5D300B89ACF = E17AED9703C0F5D300B89ACF;
     1791                        E17AED9803C0F5D300B89ACF = E17AED9803C0F5D300B89ACF;
     1792                        E17AED9903C0F5D300B89ACF = E17AED9903C0F5D300B89ACF;
     1793                        E17AED9A03C0F5D300B89ACF = E17AED9A03C0F5D300B89ACF;
     1794                        E17AED9B03C0F5D300B89ACF = E17AED9B03C0F5D300B89ACF;
     1795                        E17AED9C03C0F5D300B89ACF = E17AED9C03C0F5D300B89ACF;
     1796                        E17AED9D03C0F5D300B89ACF = E17AED9D03C0F5D300B89ACF;
     1797                        E17AED9E03C0F5D300B89ACF = E17AED9E03C0F5D300B89ACF;
     1798                        E17AED9F03C0F5D300B89ACF = E17AED9F03C0F5D300B89ACF;
     1799                        E17AEDA003C0F5D300B89ACF = E17AEDA003C0F5D300B89ACF;
     1800                        E17AEDA103C0F5D300B89ACF = E17AEDA103C0F5D300B89ACF;
     1801                        E17AEDA203C0F5D300B89ACF = E17AEDA203C0F5D300B89ACF;
     1802                        E17AEDA303C0F5D300B89ACF = E17AEDA303C0F5D300B89ACF;
     1803                        E17AEDA403C0F5D300B89ACF = E17AEDA403C0F5D300B89ACF;
     1804                        E17AEDA503C0F5D300B89ACF = E17AEDA503C0F5D300B89ACF;
     1805                        E17AEDA603C0F5D300B89ACF = E17AEDA603C0F5D300B89ACF;
     1806                        E17AEDA703C0F5D300B89ACF = E17AEDA703C0F5D300B89ACF;
     1807                        E17AEDA803C0F5D300B89ACF = E17AEDA803C0F5D300B89ACF;
     1808                        E17AEDA903C0F5D300B89ACF = E17AEDA903C0F5D300B89ACF;
     1809                        E17AEDAA03C0F5D300B89ACF = E17AEDAA03C0F5D300B89ACF;
     1810                        E17AEDAB03C0F5D300B89ACF = E17AEDAB03C0F5D300B89ACF;
     1811                        E17AEDAC03C0F5D300B89ACF = E17AEDAC03C0F5D300B89ACF;
     1812                        E17AEDAD03C0F5D300B89ACF = E17AEDAD03C0F5D300B89ACF;
     1813                        E17AEDAE03C0F5D300B89ACF = E17AEDAE03C0F5D300B89ACF;
     1814                        E17AEDAF03C0F5D300B89ACF = E17AEDAF03C0F5D300B89ACF;
     1815                        E17AEDB003C0F5D300B89ACF = E17AEDB003C0F5D300B89ACF;
     1816                        E17AEDB103C0F5D300B89ACF = E17AEDB103C0F5D300B89ACF;
     1817                        E17AEDB203C0F5D300B89ACF = E17AEDB203C0F5D300B89ACF;
     1818                        E17AEDB303C0F5D300B89ACF = E17AEDB303C0F5D300B89ACF;
     1819                        E17AEDB403C0F5D300B89ACF = E17AEDB403C0F5D300B89ACF;
     1820                        E17AEDB503C0F5D300B89ACF = E17AEDB503C0F5D300B89ACF;
     1821                        E17AEDB603C0F5D300B89ACF = E17AEDB603C0F5D300B89ACF;
     1822                        E17AEDB703C0F5D300B89ACF = E17AEDB703C0F5D300B89ACF;
     1823                        E17AEDB803C0F5D300B89ACF = E17AEDB803C0F5D300B89ACF;
     1824                        E17AEDB903C0F5D300B89ACF = E17AEDB903C0F5D300B89ACF;
     1825                        E17AEDBA03C0F5D300B89ACF = E17AEDBA03C0F5D300B89ACF;
     1826                        E17AEDBB03C0F5D300B89ACF = E17AEDBB03C0F5D300B89ACF;
     1827                        E17AEDBC03C0F5D300B89ACF = E17AEDBC03C0F5D300B89ACF;
     1828                        E17AEDBD03C0F5D300B89ACF = E17AEDBD03C0F5D300B89ACF;
     1829                        E17AEDBE03C0F5D300B89ACF = E17AEDBE03C0F5D300B89ACF;
     1830                        E17AEDBF03C0F5D300B89ACF = E17AEDBF03C0F5D300B89ACF;
     1831                        E17AEDC003C0F5D300B89ACF = E17AEDC003C0F5D300B89ACF;
     1832                        E17AEDC103C0F5D300B89ACF = E17AEDC103C0F5D300B89ACF;
     1833                        E17AEDC203C0F5D300B89ACF = E17AEDC203C0F5D300B89ACF;
     1834                        E17AEDC303C0F5D300B89ACF = E17AEDC303C0F5D300B89ACF;
     1835                        E17AEDC403C0F5D300B89ACF = E17AEDC403C0F5D300B89ACF;
     1836                        E17AEDC503C0F5D300B89ACF = E17AEDC503C0F5D300B89ACF;
     1837                        E17AEDC603C0F5D300B89ACF = E17AEDC603C0F5D300B89ACF;
     1838                        E17AEDC703C0F5D300B89ACF = E17AEDC703C0F5D300B89ACF;
     1839                        E17AEDC803C0F5D300B89ACF = E17AEDC803C0F5D300B89ACF;
     1840                        E17AEDC903C0F5D300B89ACF = E17AEDC903C0F5D300B89ACF;
     1841                        E17AEDCC03C0F5D300B89ACF = E17AEDCC03C0F5D300B89ACF;
     1842                        E17AEDCE03C0F5D300B89ACF = E17AEDCE03C0F5D300B89ACF;
     1843                        E17AEDCF03C0F5D300B89ACF = E17AEDCF03C0F5D300B89ACF;
     1844                        E195A26303BE251F00186F9B = E195A26303BE251F00186F9B;
     1845                        E195A26403BE251F00186F9B = E195A26403BE251F00186F9B;
     1846                        E195A26503BE251F00186F9B = E195A26503BE251F00186F9B;
     1847                        E195A26603BE251F00186F9B = E195A26603BE251F00186F9B;
     1848                        E195A26703BE251F00186F9B = E195A26703BE251F00186F9B;
     1849                        E195A26803BE251F00186F9B = E195A26803BE251F00186F9B;
     1850                        E195A26C03BE251F00186F9B = E195A26C03BE251F00186F9B;
     1851                        E195A26D03BE251F00186F9B = E195A26D03BE251F00186F9B;
     1852                        E195A26E03BE251F00186F9B = E195A26E03BE251F00186F9B;
     1853                        E195A26F03BE251F00186F9B = E195A26F03BE251F00186F9B;
     1854                        E195A27603BE251F00186F9B = E195A27603BE251F00186F9B;
     1855                        E195A27A03BE251F00186F9B = E195A27A03BE251F00186F9B;
     1856                        E195A27B03BE251F00186F9B = E195A27B03BE251F00186F9B;
     1857                        E195A27D03BE251F00186F9B = E195A27D03BE251F00186F9B;
     1858                        E195A27E03BE251F00186F9B = E195A27E03BE251F00186F9B;
     1859                        E195A28003BE251F00186F9B = E195A28003BE251F00186F9B;
     1860                        E195A28F03BE251F00186F9B = E195A28F03BE251F00186F9B;
     1861                        E195A29103BE251F00186F9B = E195A29103BE251F00186F9B;
     1862                        E195A29203BE251F00186F9B = E195A29203BE251F00186F9B;
     1863                        E195A29503BE251F00186F9B = E195A29503BE251F00186F9B;
     1864                        E195A29603BE251F00186F9B = E195A29603BE251F00186F9B;
     1865                        E195A29703BE251F00186F9B = E195A29703BE251F00186F9B;
     1866                        E195A29803BE251F00186F9B = E195A29803BE251F00186F9B;
     1867                        E195A29903BE251F00186F9B = E195A29903BE251F00186F9B;
     1868                        E195A29A03BE251F00186F9B = E195A29A03BE251F00186F9B;
     1869                        E195A29D03BE251F00186F9B = E195A29D03BE251F00186F9B;
     1870                        E195A29E03BE251F00186F9B = E195A29E03BE251F00186F9B;
     1871                        E195A29F03BE251F00186F9B = E195A29F03BE251F00186F9B;
     1872                        E195A2A003BE251F00186F9B = E195A2A003BE251F00186F9B;
     1873                        E195A2A103BE251F00186F9B = E195A2A103BE251F00186F9B;
     1874                        E195A2A203BE251F00186F9B = E195A2A203BE251F00186F9B;
     1875                        E195A2A303BE251F00186F9B = E195A2A303BE251F00186F9B;
     1876                        E195A2A503BE251F00186F9B = E195A2A503BE251F00186F9B;
     1877                        E195A2A603BE251F00186F9B = E195A2A603BE251F00186F9B;
     1878                        E195A2A703BE251F00186F9B = E195A2A703BE251F00186F9B;
     1879                        E195A2A803BE251F00186F9B = E195A2A803BE251F00186F9B;
     1880                        E195A2A903BE251F00186F9B = E195A2A903BE251F00186F9B;
     1881                        E195A2AA03BE251F00186F9B = E195A2AA03BE251F00186F9B;
     1882                        E195A2AC03BE251F00186F9B = E195A2AC03BE251F00186F9B;
     1883                        E195A2AD03BE251F00186F9B = E195A2AD03BE251F00186F9B;
     1884                        E195A2AE03BE251F00186F9B = E195A2AE03BE251F00186F9B;
     1885                        E195A2AF03BE251F00186F9B = E195A2AF03BE251F00186F9B;
     1886                        E195A2B003BE251F00186F9B = E195A2B003BE251F00186F9B;
     1887                        E195A2B103BE251F00186F9B = E195A2B103BE251F00186F9B;
     1888                        E195A2B203BE251F00186F9B = E195A2B203BE251F00186F9B;
     1889                        E195A2B303BE251F00186F9B = E195A2B303BE251F00186F9B;
     1890                        E195A2B403BE251F00186F9B = E195A2B403BE251F00186F9B;
     1891                        E195A2B503BE251F00186F9B = E195A2B503BE251F00186F9B;
     1892                        E195A2B603BE251F00186F9B = E195A2B603BE251F00186F9B;
     1893                        E195A2B703BE251F00186F9B = E195A2B703BE251F00186F9B;
     1894                        E195A2B803BE251F00186F9B = E195A2B803BE251F00186F9B;
     1895                        E195A2B903BE251F00186F9B = E195A2B903BE251F00186F9B;
     1896                        E195A2BA03BE251F00186F9B = E195A2BA03BE251F00186F9B;
     1897                        E195A2BB03BE251F00186F9B = E195A2BB03BE251F00186F9B;
     1898                        E195A2BC03BE251F00186F9B = E195A2BC03BE251F00186F9B;
     1899                        E195A2BD03BE251F00186F9B = E195A2BD03BE251F00186F9B;
     1900                        E195A2BE03BE251F00186F9B = E195A2BE03BE251F00186F9B;
     1901                        E195A2C103BE251F00186F9B = E195A2C103BE251F00186F9B;
     1902                        E195A2C203BE251F00186F9B = E195A2C203BE251F00186F9B;
     1903                        E195A2C303BE251F00186F9B = E195A2C303BE251F00186F9B;
     1904                        E195A2C403BE251F00186F9B = E195A2C403BE251F00186F9B;
     1905                        E195A2C503BE251F00186F9B = E195A2C503BE251F00186F9B;
     1906                        E195A2C603BE251F00186F9B = E195A2C603BE251F00186F9B;
     1907                        E195A2C703BE251F00186F9B = E195A2C703BE251F00186F9B;
     1908                        E195A2C803BE251F00186F9B = E195A2C803BE251F00186F9B;
     1909                        E195A2C903BE251F00186F9B = E195A2C903BE251F00186F9B;
     1910                        E195A2CA03BE251F00186F9B = E195A2CA03BE251F00186F9B;
     1911                        E195A2CB03BE251F00186F9B = E195A2CB03BE251F00186F9B;
     1912                        E195A2CD03BE251F00186F9B = E195A2CD03BE251F00186F9B;
     1913                        E195A2CF03BE251F00186F9B = E195A2CF03BE251F00186F9B;
     1914                        E195A2D103BE251F00186F9B = E195A2D103BE251F00186F9B;
     1915                        E195A2D303BE251F00186F9B = E195A2D303BE251F00186F9B;
     1916                        E195A2D503BE251F00186F9B = E195A2D503BE251F00186F9B;
     1917                        E195A2D703BE251F00186F9B = E195A2D703BE251F00186F9B;
     1918                        E195A2D903BE251F00186F9B = E195A2D903BE251F00186F9B;
     1919                        E195A2DB03BE251F00186F9B = E195A2DB03BE251F00186F9B;
     1920                        E195A2DD03BE251F00186F9B = E195A2DD03BE251F00186F9B;
     1921                        E195A2DF03BE251F00186F9B = E195A2DF03BE251F00186F9B;
     1922                        E195A2E003BE251F00186F9B = E195A2E003BE251F00186F9B;
     1923                        E195A2E103BE251F00186F9B = E195A2E103BE251F00186F9B;
     1924                        E195A2E203BE251F00186F9B = E195A2E203BE251F00186F9B;
     1925                        E195A2E303BE251F00186F9B = E195A2E303BE251F00186F9B;
     1926                        E195A2E403BE251F00186F9B = E195A2E403BE251F00186F9B;
     1927                        E195A2E503BE251F00186F9B = E195A2E503BE251F00186F9B;
     1928                        E195A2E603BE251F00186F9B = E195A2E603BE251F00186F9B;
     1929                        E195A2E803BE251F00186F9B = E195A2E803BE251F00186F9B;
     1930                        E195A2E903BE251F00186F9B = E195A2E903BE251F00186F9B;
     1931                        E195A2EA03BE251F00186F9B = E195A2EA03BE251F00186F9B;
     1932                        E195A2EB03BE251F00186F9B = E195A2EB03BE251F00186F9B;
     1933                        E195A2EC03BE251F00186F9B = E195A2EC03BE251F00186F9B;
     1934                        E195A2ED03BE251F00186F9B = E195A2ED03BE251F00186F9B;
     1935                        E195A2EE03BE251F00186F9B = E195A2EE03BE251F00186F9B;
     1936                        E195A2F003BE251F00186F9B = E195A2F003BE251F00186F9B;
     1937                        E195A2F103BE251F00186F9B = E195A2F103BE251F00186F9B;
     1938                        E195A2F303BE251F00186F9B = E195A2F303BE251F00186F9B;
     1939                        E195A2F403BE251F00186F9B = E195A2F403BE251F00186F9B;
     1940                        E195A2F503BE251F00186F9B = E195A2F503BE251F00186F9B;
     1941                        E195A2F603BE251F00186F9B = E195A2F603BE251F00186F9B;
     1942                        E195A2F703BE251F00186F9B = E195A2F703BE251F00186F9B;
     1943                        E195A2F803BE251F00186F9B = E195A2F803BE251F00186F9B;
     1944                        E195A2F903BE251F00186F9B = E195A2F903BE251F00186F9B;
     1945                        E195A2FA03BE251F00186F9B = E195A2FA03BE251F00186F9B;
     1946                        E195A2FC03BE251F00186F9B = E195A2FC03BE251F00186F9B;
     1947                        E195A2FE03BE251F00186F9B = E195A2FE03BE251F00186F9B;
     1948                        E19DCB6C03BE4A0A00B934BF = E19DCB6C03BE4A0A00B934BF;
     1949                        E19DCB7803BE4A0A00B934BF = E19DCB7803BE4A0A00B934BF;
     1950                        E19DCB8203BE4A0A00B934BF = E19DCB8203BE4A0A00B934BF;
     1951                        E19DCB8303BE4A0A00B934BF = E19DCB8303BE4A0A00B934BF;
     1952                        E19DCB8503BE4A0A00B934BF = E19DCB8503BE4A0A00B934BF;
     1953                        E19DCB8603BE4A0A00B934BF = E19DCB8603BE4A0A00B934BF;
     1954                        E19DCB8703BE4A0A00B934BF = E19DCB8703BE4A0A00B934BF;
     1955                        E19DCB8903BE4A0A00B934BF = E19DCB8903BE4A0A00B934BF;
     1956                        E19DCB8A03BE4A0A00B934BF = E19DCB8A03BE4A0A00B934BF;
     1957                        E19DCB8B03BE4A0A00B934BF = E19DCB8B03BE4A0A00B934BF;
     1958                        E19DCB8C03BE4A0A00B934BF = E19DCB8C03BE4A0A00B934BF;
     1959                        E19DCB8E03BE4A0A00B934BF = E19DCB8E03BE4A0A00B934BF;
     1960                        E19DCB9003BE4A0A00B934BF = E19DCB9003BE4A0A00B934BF;
     1961                        E19DCB9103BE4A0A00B934BF = E19DCB9103BE4A0A00B934BF;
     1962                        E19DCB9303BE4A0A00B934BF = E19DCB9303BE4A0A00B934BF;
     1963                        E19DCB9403BE4A0A00B934BF = E19DCB9403BE4A0A00B934BF;
     1964                        E19DCB9503BE4A0A00B934BF = E19DCB9503BE4A0A00B934BF;
     1965                        E19DCB9603BE4A0A00B934BF = E19DCB9603BE4A0A00B934BF;
     1966                        E19DCB9703BE4A0A00B934BF = E19DCB9703BE4A0A00B934BF;
     1967                        E19DCB9803BE4A0A00B934BF = E19DCB9803BE4A0A00B934BF;
     1968                        E19DCB9903BE4A0A00B934BF = E19DCB9903BE4A0A00B934BF;
     1969                        E19DCB9A03BE4A0A00B934BF = E19DCB9A03BE4A0A00B934BF;
     1970                        E19DCB9B03BE4A0A00B934BF = E19DCB9B03BE4A0A00B934BF;
     1971                        E19DCB9C03BE4A0A00B934BF = E19DCB9C03BE4A0A00B934BF;
     1972                        E19DCB9D03BE4A0A00B934BF = E19DCB9D03BE4A0A00B934BF;
     1973                        E19DCB9E03BE4A0A00B934BF = E19DCB9E03BE4A0A00B934BF;
     1974                        E19DCB9F03BE4A0A00B934BF = E19DCB9F03BE4A0A00B934BF;
     1975                        E19DCBA003BE4A0A00B934BF = E19DCBA003BE4A0A00B934BF;
     1976                        E19DCBA103BE4A0A00B934BF = E19DCBA103BE4A0A00B934BF;
     1977                        E19DCBA203BE4A0A00B934BF = E19DCBA203BE4A0A00B934BF;
     1978                        E19DCBA303BE4A0A00B934BF = E19DCBA303BE4A0A00B934BF;
     1979                        E19DCBA403BE4A0A00B934BF = E19DCBA403BE4A0A00B934BF;
     1980                        E19DCBA503BE4A0A00B934BF = E19DCBA503BE4A0A00B934BF;
     1981                        E19DCBA603BE4A0A00B934BF = E19DCBA603BE4A0A00B934BF;
     1982                        E19DCBA703BE4A0A00B934BF = E19DCBA703BE4A0A00B934BF;
     1983                        E19DCBA803BE4A0A00B934BF = E19DCBA803BE4A0A00B934BF;
     1984                        E19DCBA903BE4A0A00B934BF = E19DCBA903BE4A0A00B934BF;
     1985                        E19DCBAA03BE4A0A00B934BF = E19DCBAA03BE4A0A00B934BF;
     1986                        E19DCBAB03BE4A0A00B934BF = E19DCBAB03BE4A0A00B934BF;
     1987                        E19DCBAC03BE4A0A00B934BF = E19DCBAC03BE4A0A00B934BF;
     1988                        E19DCBAD03BE4A0A00B934BF = E19DCBAD03BE4A0A00B934BF;
     1989                        E19DCBAE03BE4A0A00B934BF = E19DCBAE03BE4A0A00B934BF;
     1990                        E19DCBAF03BE4A0A00B934BF = E19DCBAF03BE4A0A00B934BF;
     1991                        E19DCBB003BE4A0A00B934BF = E19DCBB003BE4A0A00B934BF;
     1992                        E19DCBB103BE4A0A00B934BF = E19DCBB103BE4A0A00B934BF;
     1993                        E19DCBB203BE4A0A00B934BF = E19DCBB203BE4A0A00B934BF;
     1994                        E19DCBB603BE4A0A00B934BF = E19DCBB603BE4A0A00B934BF;
     1995                        E19DCBB703BE4A0A00B934BF = E19DCBB703BE4A0A00B934BF;
     1996                        E19DCBB803BE4A0A00B934BF = E19DCBB803BE4A0A00B934BF;
     1997                        E19DCBB903BE4A0A00B934BF = E19DCBB903BE4A0A00B934BF;
     1998                        E19DCBBA03BE4A0A00B934BF = E19DCBBA03BE4A0A00B934BF;
     1999                        E19DCBBB03BE4A0A00B934BF = E19DCBBB03BE4A0A00B934BF;
     2000                        E19DCBBC03BE4A0A00B934BF = E19DCBBC03BE4A0A00B934BF;
     2001                        E19DCBBD03BE4A0A00B934BF = E19DCBBD03BE4A0A00B934BF;
     2002                        E19DCC8703BE900300B934BF = E19DCC8703BE900300B934BF;
     2003                        E19DCC8803BE900300B934BF = E19DCC8803BE900300B934BF;
     2004                        E19DCC8903BE900300B934BF = E19DCC8903BE900300B934BF;
     2005                        E19DCC8A03BE900300B934BF = E19DCC8A03BE900300B934BF;
     2006                        E19DCC8B03BE900300B934BF = E19DCC8B03BE900300B934BF;
     2007                        E19DCC8C03BE900300B934BF = E19DCC8C03BE900300B934BF;
     2008                        E19DCC8E03BE900300B934BF = E19DCC8E03BE900300B934BF;
     2009                        E19DCC8F03BE900300B934BF = E19DCC8F03BE900300B934BF;
     2010                        E19DCC9203BE900300B934BF = E19DCC9203BE900300B934BF;
     2011                        E19DCC9603BE900300B934BF = E19DCC9603BE900300B934BF;
     2012                        E19DCC9703BE900300B934BF = E19DCC9703BE900300B934BF;
     2013                        E19DCC9C03BE900300B934BF = E19DCC9C03BE900300B934BF;
     2014                        E19DCC9E03BE900300B934BF = E19DCC9E03BE900300B934BF;
     2015                        E19DCCA203BE900300B934BF = E19DCCA203BE900300B934BF;
     2016                        E19DCCA303BE900300B934BF = E19DCCA303BE900300B934BF;
     2017                        E19DCCA403BE900300B934BF = E19DCCA403BE900300B934BF;
     2018                        E19DCCA503BE900300B934BF = E19DCCA503BE900300B934BF;
     2019                        E19DCCA603BE900300B934BF = E19DCCA603BE900300B934BF;
     2020                        E19DCCA703BE900300B934BF = E19DCCA703BE900300B934BF;
     2021                        E19DCCA803BE900300B934BF = E19DCCA803BE900300B934BF;
     2022                        E19DCCA903BE900300B934BF = E19DCCA903BE900300B934BF;
     2023                        E19DCCAB03BE900300B934BF = E19DCCAB03BE900300B934BF;
     2024                        E19DCCAC03BE900300B934BF = E19DCCAC03BE900300B934BF;
     2025                        E19DCCAE03BE900300B934BF = E19DCCAE03BE900300B934BF;
     2026                        E19DCCAF03BE900300B934BF = E19DCCAF03BE900300B934BF;
     2027                        E19DCCB003BE900300B934BF = E19DCCB003BE900300B934BF;
     2028                        E19DCCB103BE900300B934BF = E19DCCB103BE900300B934BF;
     2029                        E19DCCB203BE900300B934BF = E19DCCB203BE900300B934BF;
     2030                        E19DCCB303BE900300B934BF = E19DCCB303BE900300B934BF;
     2031                        E19DCCB403BE900300B934BF = E19DCCB403BE900300B934BF;
     2032                        E19DCCB503BE900300B934BF = E19DCCB503BE900300B934BF;
     2033                        E19DCCB603BE900300B934BF = E19DCCB603BE900300B934BF;
     2034                        E19DCCB703BE900300B934BF = E19DCCB703BE900300B934BF;
     2035                        E19DCCB903BE900300B934BF = E19DCCB903BE900300B934BF;
     2036                        E19DCCBA03BE900300B934BF = E19DCCBA03BE900300B934BF;
     2037                        E19DCCBB03BE900300B934BF = E19DCCBB03BE900300B934BF;
     2038                        E19DCCBC03BE900300B934BF = E19DCCBC03BE900300B934BF;
     2039                        E19DCCBD03BE900300B934BF = E19DCCBD03BE900300B934BF;
     2040                        E19DCCBE03BE900300B934BF = E19DCCBE03BE900300B934BF;
     2041                        E19DCCBF03BE900300B934BF = E19DCCBF03BE900300B934BF;
     2042                        E19DCCC003BE900300B934BF = E19DCCC003BE900300B934BF;
     2043                        E19DCCC103BE900300B934BF = E19DCCC103BE900300B934BF;
     2044                        E19DCCC203BE900300B934BF = E19DCCC203BE900300B934BF;
     2045                        E19DCCC303BE900300B934BF = E19DCCC303BE900300B934BF;
     2046                        E19DCCC403BE900300B934BF = E19DCCC403BE900300B934BF;
     2047                        E19DCCC503BE900300B934BF = E19DCCC503BE900300B934BF;
     2048                        E19DCCC603BE900300B934BF = E19DCCC603BE900300B934BF;
     2049                        E19DCCC703BE900300B934BF = E19DCCC703BE900300B934BF;
     2050                        E19DCCC803BE900300B934BF = E19DCCC803BE900300B934BF;
     2051                        E19DCCC903BE900300B934BF = E19DCCC903BE900300B934BF;
     2052                        E19DCCCA03BE900300B934BF = E19DCCCA03BE900300B934BF;
     2053                        E19DCCCB03BE900300B934BF = E19DCCCB03BE900300B934BF;
     2054                        E19DCCCD03BE900300B934BF = E19DCCCD03BE900300B934BF;
     2055                        E19DCCCE03BE900300B934BF = E19DCCCE03BE900300B934BF;
     2056                        E19DCCCF03BE900300B934BF = E19DCCCF03BE900300B934BF;
     2057                        E19DCCD103BE900300B934BF = E19DCCD103BE900300B934BF;
     2058                        E19DCCD203BE900300B934BF = E19DCCD203BE900300B934BF;
     2059                        E19DCCD403BE900300B934BF = E19DCCD403BE900300B934BF;
     2060                        E19DCCD503BE900300B934BF = E19DCCD503BE900300B934BF;
     2061                        E19DCCD603BE900300B934BF = E19DCCD603BE900300B934BF;
     2062                        E19DCCD703BE900300B934BF = E19DCCD703BE900300B934BF;
     2063                        E19DCCD803BE900300B934BF = E19DCCD803BE900300B934BF;
     2064                        E19DCCD903BE900300B934BF = E19DCCD903BE900300B934BF;
     2065                        E19DCCDA03BE900300B934BF = E19DCCDA03BE900300B934BF;
     2066                        E19DCCDB03BE900300B934BF = E19DCCDB03BE900300B934BF;
     2067                        E1A9DEEB03BF480F0089E8B2 = E1A9DEEB03BF480F0089E8B2;
     2068                        E1A9DEEE03BF480F0089E8B2 = E1A9DEEE03BF480F0089E8B2;
     2069                        E1A9DEF003BF480F0089E8B2 = E1A9DEF003BF480F0089E8B2;
     2070                        E1A9DEF103BF480F0089E8B2 = E1A9DEF103BF480F0089E8B2;
     2071                        E1A9DEF203BF480F0089E8B2 = E1A9DEF203BF480F0089E8B2;
     2072                        E1A9DEF703BF480F0089E8B2 = E1A9DEF703BF480F0089E8B2;
     2073                        E1A9DEF903BF480F0089E8B2 = E1A9DEF903BF480F0089E8B2;
     2074                        E1A9DEFB03BF480F0089E8B2 = E1A9DEFB03BF480F0089E8B2;
     2075                        E1A9DEFC03BF480F0089E8B2 = E1A9DEFC03BF480F0089E8B2;
     2076                        E1A9DEFD03BF480F0089E8B2 = E1A9DEFD03BF480F0089E8B2;
     2077                        E1A9DEFE03BF480F0089E8B2 = E1A9DEFE03BF480F0089E8B2;
     2078                        E1A9DF0003BF480F0089E8B2 = E1A9DF0003BF480F0089E8B2;
     2079                        E1A9DF0203BF480F0089E8B2 = E1A9DF0203BF480F0089E8B2;
     2080                        E1A9DF0303BF480F0089E8B2 = E1A9DF0303BF480F0089E8B2;
     2081                        E1A9DF0403BF480F0089E8B2 = E1A9DF0403BF480F0089E8B2;
     2082                        E1A9DF0503BF480F0089E8B2 = E1A9DF0503BF480F0089E8B2;
     2083                        E1A9DF0603BF480F0089E8B2 = E1A9DF0603BF480F0089E8B2;
     2084                        E1A9DF0703BF480F0089E8B2 = E1A9DF0703BF480F0089E8B2;
     2085                        E1A9DF0803BF480F0089E8B2 = E1A9DF0803BF480F0089E8B2;
     2086                        E1A9DF0A03BF480F0089E8B2 = E1A9DF0A03BF480F0089E8B2;
     2087                        E1D2937503BD418200F9204E = E1D2937503BD418200F9204E;
     2088                        E1D2937B03BD418200F9204E = E1D2937B03BD418200F9204E;
     2089                        E1D2937C03BD418200F9204E = E1D2937C03BD418200F9204E;
     2090                        E1D2937E03BD418200F9204E = E1D2937E03BD418200F9204E;
     2091                        E1D2938303BD418200F9204E = E1D2938303BD418200F9204E;
     2092                        E1D2938403BD418200F9204E = E1D2938403BD418200F9204E;
     2093                        E1D2938503BD418200F9204E = E1D2938503BD418200F9204E;
     2094                        E1D2938603BD418200F9204E = E1D2938603BD418200F9204E;
     2095                        E1D2938903BD418200F9204E = E1D2938903BD418200F9204E;
     2096                        E1D2939103BD418200F9204E = E1D2939103BD418200F9204E;
     2097                        E1D2939203BD418200F9204E = E1D2939203BD418200F9204E;
     2098                        E1D2939303BD418200F9204E = E1D2939303BD418200F9204E;
     2099                        E1D2939403BD418200F9204E = E1D2939403BD418200F9204E;
     2100                        E1D2939503BD418200F9204E = E1D2939503BD418200F9204E;
     2101                        E1D2939603BD418200F9204E = E1D2939603BD418200F9204E;
     2102                        E1D2939703BD418200F9204E = E1D2939703BD418200F9204E;
     2103                        E1D2939803BD418200F9204E = E1D2939803BD418200F9204E;
     2104                        E1D2939903BD418200F9204E = E1D2939903BD418200F9204E;
     2105                        E1D2939A03BD418200F9204E = E1D2939A03BD418200F9204E;
     2106                        E1D2939B03BD418200F9204E = E1D2939B03BD418200F9204E;
     2107                        E1D2939C03BD418200F9204E = E1D2939C03BD418200F9204E;
     2108                        E1D2939D03BD418200F9204E = E1D2939D03BD418200F9204E;
     2109                        E1D2939E03BD418200F9204E = E1D2939E03BD418200F9204E;
     2110                        E1D2939F03BD418200F9204E = E1D2939F03BD418200F9204E;
     2111                        E1D293A003BD418200F9204E = E1D293A003BD418200F9204E;
     2112                        E1D293A103BD418200F9204E = E1D293A103BD418200F9204E;
     2113                        E1D293A203BD418200F9204E = E1D293A203BD418200F9204E;
     2114                        E1D293A303BD418200F9204E = E1D293A303BD418200F9204E;
     2115                        E1D293A403BD418200F9204E = E1D293A403BD418200F9204E;
     2116                        E1D293A503BD418200F9204E = E1D293A503BD418200F9204E;
     2117                        E1D293A603BD418200F9204E = E1D293A603BD418200F9204E;
     2118                        E1D293A703BD418200F9204E = E1D293A703BD418200F9204E;
     2119                        E1D293A803BD418200F9204E = E1D293A803BD418200F9204E;
     2120                        E1D293A903BD418200F9204E = E1D293A903BD418200F9204E;
     2121                        E1D293AA03BD418200F9204E = E1D293AA03BD418200F9204E;
     2122                        E1D293AB03BD418200F9204E = E1D293AB03BD418200F9204E;
     2123                        E1D293AC03BD418200F9204E = E1D293AC03BD418200F9204E;
     2124                        E1D293AD03BD418200F9204E = E1D293AD03BD418200F9204E;
     2125                        E1D293AE03BD418200F9204E = E1D293AE03BD418200F9204E;
     2126                        E1D293AF03BD418200F9204E = E1D293AF03BD418200F9204E;
     2127                        E1D293B003BD418200F9204E = E1D293B003BD418200F9204E;
     2128                        E1D293B203BD418200F9204E = E1D293B203BD418200F9204E;
     2129                        E1D293B403BD418200F9204E = E1D293B403BD418200F9204E;
     2130                        E1D293B503BD418200F9204E = E1D293B503BD418200F9204E;
     2131                        E1D293B703BD418200F9204E = E1D293B703BD418200F9204E;
     2132                        E1D293B903BD418200F9204E = E1D293B903BD418200F9204E;
     2133                        E1D293BA03BD418200F9204E = E1D293BA03BD418200F9204E;
     2134                        E1D293BB03BD418200F9204E = E1D293BB03BD418200F9204E;
     2135                        E1D293BC03BD418200F9204E = E1D293BC03BD418200F9204E;
     2136                        E1D293BD03BD418200F9204E = E1D293BD03BD418200F9204E;
     2137                        E1D293BE03BD418200F9204E = E1D293BE03BD418200F9204E;
     2138                        E1D293BF03BD418200F9204E = E1D293BF03BD418200F9204E;
     2139                        E1D293C003BD418200F9204E = E1D293C003BD418200F9204E;
     2140                        E1D293C103BD418200F9204E = E1D293C103BD418200F9204E;
     2141                        E1D293C203BD418200F9204E = E1D293C203BD418200F9204E;
     2142                        E1D293C403BD418200F9204E = E1D293C403BD418200F9204E;
     2143                        E1D293C503BD418200F9204E = E1D293C503BD418200F9204E;
     2144                        E1D293C603BD418200F9204E = E1D293C603BD418200F9204E;
     2145                        E1D293C703BD418200F9204E = E1D293C703BD418200F9204E;
     2146                        E1D293C803BD418200F9204E = E1D293C803BD418200F9204E;
     2147                        E1D293C903BD418200F9204E = E1D293C903BD418200F9204E;
     2148                        E1D293CA03BD418200F9204E = E1D293CA03BD418200F9204E;
     2149                        E1D293CB03BD418200F9204E = E1D293CB03BD418200F9204E;
     2150                        E1D293CC03BD418200F9204E = E1D293CC03BD418200F9204E;
     2151                        E1D293CD03BD418200F9204E = E1D293CD03BD418200F9204E;
     2152                        E1D293CE03BD418200F9204E = E1D293CE03BD418200F9204E;
     2153                        E1D293CF03BD418200F9204E = E1D293CF03BD418200F9204E;
     2154                        E1D293D003BD418200F9204E = E1D293D003BD418200F9204E;
     2155                        E1D293D103BD418200F9204E = E1D293D103BD418200F9204E;
     2156                        E1D293D203BD418200F9204E = E1D293D203BD418200F9204E;
     2157                        E1D293D303BD418200F9204E = E1D293D303BD418200F9204E;
     2158                        E1D293D403BD418200F9204E = E1D293D403BD418200F9204E;
     2159                        E1D293D503BD418200F9204E = E1D293D503BD418200F9204E;
     2160                        E1D293D603BD418200F9204E = E1D293D603BD418200F9204E;
     2161                        E1D293D703BD418200F9204E = E1D293D703BD418200F9204E;
     2162                        E1D293D803BD418200F9204E = E1D293D803BD418200F9204E;
     2163                        E1D293D903BD418200F9204E = E1D293D903BD418200F9204E;
     2164                        E1D293DA03BD418200F9204E = E1D293DA03BD418200F9204E;
     2165                        E1D293DB03BD418200F9204E = E1D293DB03BD418200F9204E;
     2166                        E1D293DC03BD418200F9204E = E1D293DC03BD418200F9204E;
     2167                        E1D293DD03BD418200F9204E = E1D293DD03BD418200F9204E;
     2168                        E1D293DE03BD418200F9204E = E1D293DE03BD418200F9204E;
     2169                        E1D293DF03BD418200F9204E = E1D293DF03BD418200F9204E;
     2170                        E1D293E003BD418200F9204E = E1D293E003BD418200F9204E;
     2171                        E1D293E103BD418200F9204E = E1D293E103BD418200F9204E;
     2172                        E1D293E203BD418200F9204E = E1D293E203BD418200F9204E;
     2173                        E1D293E303BD418200F9204E = E1D293E303BD418200F9204E;
     2174                        E1D293E403BD418200F9204E = E1D293E403BD418200F9204E;
     2175                        E1D293E503BD418200F9204E = E1D293E503BD418200F9204E;
     2176                        E1D293E603BD418200F9204E = E1D293E603BD418200F9204E;
     2177                        E1D293E703BD418200F9204E = E1D293E703BD418200F9204E;
     2178                        E1D293E803BD418200F9204E = E1D293E803BD418200F9204E;
     2179                        E1D293E903BD418200F9204E = E1D293E903BD418200F9204E;
     2180                        E1D293EA03BD418200F9204E = E1D293EA03BD418200F9204E;
     2181                        E1D293EB03BD418200F9204E = E1D293EB03BD418200F9204E;
     2182                        E1D293EC03BD418200F9204E = E1D293EC03BD418200F9204E;
     2183                        E1D293EE03BD418200F9204E = E1D293EE03BD418200F9204E;
     2184                        E1D293F003BD418200F9204E = E1D293F003BD418200F9204E;
     2185                        E1D293F103BD418200F9204E = E1D293F103BD418200F9204E;
     2186                        E1D293F203BD418200F9204E = E1D293F203BD418200F9204E;
     2187                        E1D293F303BD418200F9204E = E1D293F303BD418200F9204E;
     2188                        E1D293F403BD418200F9204E = E1D293F403BD418200F9204E;
     2189                        E1D293F503BD418200F9204E = E1D293F503BD418200F9204E;
     2190                        E1D293F703BD418200F9204E = E1D293F703BD418200F9204E;
     2191                        E1D293F803BD418200F9204E = E1D293F803BD418200F9204E;
     2192                        E1D293F903BD418200F9204E = E1D293F903BD418200F9204E;
     2193                        E1D293FB03BD418200F9204E = E1D293FB03BD418200F9204E;
     2194                        E1D293FC03BD418200F9204E = E1D293FC03BD418200F9204E;
     2195                        E1D293FD03BD418200F9204E = E1D293FD03BD418200F9204E;
     2196                        E1D293FE03BD418200F9204E = E1D293FE03BD418200F9204E;
     2197                        E1D293FF03BD418200F9204E = E1D293FF03BD418200F9204E;
     2198                        E1D2940003BD418200F9204E = E1D2940003BD418200F9204E;
     2199                        E1D2940103BD418200F9204E = E1D2940103BD418200F9204E;
     2200                        E1D2940203BD418200F9204E = E1D2940203BD418200F9204E;
     2201                        E1D2940303BD418200F9204E = E1D2940303BD418200F9204E;
     2202                        E1D2940403BD418200F9204E = E1D2940403BD418200F9204E;
     2203                        E1D2940503BD418200F9204E = E1D2940503BD418200F9204E;
     2204                        E1D2940603BD418200F9204E = E1D2940603BD418200F9204E;
     2205                        E1D2940703BD418200F9204E = E1D2940703BD418200F9204E;
     2206                        E1D2940803BD418200F9204E = E1D2940803BD418200F9204E;
     2207                        E1D2940903BD418200F9204E = E1D2940903BD418200F9204E;
     2208                        E1D2940A03BD418200F9204E = E1D2940A03BD418200F9204E;
     2209                        E1D2940B03BD418200F9204E = E1D2940B03BD418200F9204E;
     2210                        E1D2940C03BD418200F9204E = E1D2940C03BD418200F9204E;
     2211                        E1D2940D03BD418200F9204E = E1D2940D03BD418200F9204E;
     2212                        E1D2940E03BD418200F9204E = E1D2940E03BD418200F9204E;
     2213                        E1D2940F03BD418200F9204E = E1D2940F03BD418200F9204E;
     2214                        E1D2941003BD418200F9204E = E1D2941003BD418200F9204E;
     2215                        E1D2941103BD418200F9204E = E1D2941103BD418200F9204E;
     2216                        E1D2941203BD418200F9204E = E1D2941203BD418200F9204E;
     2217                        E1D2941303BD418200F9204E = E1D2941303BD418200F9204E;
     2218                        E1D2941403BD418200F9204E = E1D2941403BD418200F9204E;
     2219                        E1D2941503BD418200F9204E = E1D2941503BD418200F9204E;
     2220                        E1D2941603BD418200F9204E = E1D2941603BD418200F9204E;
     2221                        E1D2941703BD418200F9204E = E1D2941703BD418200F9204E;
     2222                        E1D2941803BD418200F9204E = E1D2941803BD418200F9204E;
     2223                        E1D2941903BD418200F9204E = E1D2941903BD418200F9204E;
     2224                        E1D2941A03BD418200F9204E = E1D2941A03BD418200F9204E;
     2225                        E1D2941B03BD418200F9204E = E1D2941B03BD418200F9204E;
     2226                        E1D2941C03BD418200F9204E = E1D2941C03BD418200F9204E;
     2227                        E1D2941D03BD418200F9204E = E1D2941D03BD418200F9204E;
     2228                        E1D2941E03BD418200F9204E = E1D2941E03BD418200F9204E;
     2229                        E1D2941F03BD418200F9204E = E1D2941F03BD418200F9204E;
     2230                        E1D2942003BD418200F9204E = E1D2942003BD418200F9204E;
     2231                        E1D2942103BD418200F9204E = E1D2942103BD418200F9204E;
     2232                        E1D2942203BD418200F9204E = E1D2942203BD418200F9204E;
     2233                        E1D2942303BD418200F9204E = E1D2942303BD418200F9204E;
     2234                        E1D2942403BD418200F9204E = E1D2942403BD418200F9204E;
     2235                        E1D2942503BD418200F9204E = E1D2942503BD418200F9204E;
     2236                        E1D2942603BD418200F9204E = E1D2942603BD418200F9204E;
     2237                        E1D2942703BD418200F9204E = E1D2942703BD418200F9204E;
     2238                        E1D2942803BD418200F9204E = E1D2942803BD418200F9204E;
     2239                        E1D2942903BD418200F9204E = E1D2942903BD418200F9204E;
     2240                        E1D2942A03BD418200F9204E = E1D2942A03BD418200F9204E;
     2241                        E1D2942B03BD418200F9204E = E1D2942B03BD418200F9204E;
     2242                        E1D2942C03BD418200F9204E = E1D2942C03BD418200F9204E;
     2243                        E1D2942D03BD418200F9204E = E1D2942D03BD418200F9204E;
     2244                        E1D2942E03BD418200F9204E = E1D2942E03BD418200F9204E;
     2245                        E1D2942F03BD418200F9204E = E1D2942F03BD418200F9204E;
     2246                        E1D2943003BD418200F9204E = E1D2943003BD418200F9204E;
     2247                        E1D2943103BD418200F9204E = E1D2943103BD418200F9204E;
     2248                        E1D2943203BD418200F9204E = E1D2943203BD418200F9204E;
     2249                        E1D2943303BD418200F9204E = E1D2943303BD418200F9204E;
     2250                        E1D2943403BD418200F9204E = E1D2943403BD418200F9204E;
     2251                        E1D2943503BD418200F9204E = E1D2943503BD418200F9204E;
     2252                        E1D2943603BD418200F9204E = E1D2943603BD418200F9204E;
     2253                        E1D2943703BD418200F9204E = E1D2943703BD418200F9204E;
     2254                        E1D2943803BD418200F9204E = E1D2943803BD418200F9204E;
     2255                        E1D2943903BD418200F9204E = E1D2943903BD418200F9204E;
    13822256                };
    13832257                projectwideBuildSettings = {
    13842258                };
    1385                 userBookmarkGroup = F59DC6D20353C43201AEEDB1;
     2259                userBookmarkGroup = E130B91603B69C6300000028;
    13862260                wantsIndex = 1;
    13872261                wantsSCM = -1;
     
    13932267                );
    13942268        };
     2269        E1096EB603C3EDB0009B92C1 = {
     2270                fRef = F589C9C6035AA12B0155F4B2;
     2271                isa = PBXTextBookmark;
     2272                name = "Read Me.rtfd: 77";
     2273                rLen = 0;
     2274                rLoc = 4965;
     2275                rType = 0;
     2276                vrLen = 2641;
     2277                vrLoc = 6972;
     2278        };
     2279        E1096EB803C3EDB0009B92C1 = {
     2280                fRef = F589C9C6035AA12B0155F4B2;
     2281                isa = PBXTextBookmark;
     2282                name = "Read Me.rtfd: 77";
     2283                rLen = 0;
     2284                rLoc = 4965;
     2285                rType = 0;
     2286                vrLen = 2641;
     2287                vrLoc = 6972;
     2288        };
     2289        E1096EB903C3EDB0009B92C1 = {
     2290                isa = PBXTargetBookmark;
     2291                trg = 29B97326FDCFA39411CA2CEA;
     2292        };
     2293        E1096EBB03C3EDB0009B92C1 = {
     2294                fRef = F59DC6D40353C9E601AEEDB1;
     2295                isa = PBXTextBookmark;
     2296                name = "PSAlarmSetController.m: 505";
     2297                rLen = 0;
     2298                rLoc = 22304;
     2299                rType = 0;
     2300                vrLen = 301;
     2301                vrLoc = 22122;
     2302        };
     2303        E1096EBC03C3EDB0009B92C1 = {
     2304                fRef = F59DC6DC0353DE5101AEEDB1;
     2305                isa = PBXTextBookmark;
     2306                name = "PSAlarmNotifierController.m: 45";
     2307                rLen = 0;
     2308                rLoc = 1694;
     2309                rType = 0;
     2310                vrLen = 1555;
     2311                vrLoc = 3251;
     2312        };
     2313        E1096EBD03C3EDB0009B92C1 = {
     2314                fRef = F59DC6D40353C9E601AEEDB1;
     2315                isa = PBXTextBookmark;
     2316                name = "PSAlarmSetController.m: 489";
     2317                rLen = 0;
     2318                rLoc = 21925;
     2319                rType = 0;
     2320                vrLen = 1118;
     2321                vrLoc = 21572;
     2322        };
     2323        E1096EC203C3F504009B92C1 = {
     2324                isa = PBXTargetBookmark;
     2325                trg = 29B97326FDCFA39411CA2CEA;
     2326                uiCtxt = {
     2327                        TOCViewDetailVisibleRect = "{{0, 0}, {467, 233}}";
     2328                        TOCViewExpandedItems = (
     2329                                "com.apple.target-editor-pane.settings",
     2330                                "com.apple.target-editor-pane.settings.simple",
     2331                                "com.apple.target-editor-pane.info-plist",
     2332                                "com.apple.target-editor-pane.info-plist.simple",
     2333                                "com.apple.target-editor-pane.buildphases",
     2334                        );
     2335                        TOCViewMasterVisibleRect = "{{0, 0}, {183, 581}}";
     2336                        TOCViewSelectedItems = (
     2337                                PBXTargetSummarySettingsModule,
     2338                        );
     2339                };
     2340        };
     2341        E1096EC303C3F504009B92C1 = {
     2342                fRef = F59DC6D40353C9E601AEEDB1;
     2343                isa = PBXTextBookmark;
     2344                name = "PSAlarmSetController.m: 505";
     2345                rLen = 0;
     2346                rLoc = 22304;
     2347                rType = 0;
     2348                vrLen = 301;
     2349                vrLoc = 22122;
     2350        };
     2351        E1096EC403C3F504009B92C1 = {
     2352                fRef = F59DC6DC0353DE5101AEEDB1;
     2353                isa = PBXTextBookmark;
     2354                name = "PSAlarmNotifierController.m: 45";
     2355                rLen = 0;
     2356                rLoc = 1694;
     2357                rType = 0;
     2358                vrLen = 1555;
     2359                vrLoc = 3251;
     2360        };
     2361        E1096EC503C3F504009B92C1 = {
     2362                fRef = F59DC6D40353C9E601AEEDB1;
     2363                isa = PBXTextBookmark;
     2364                name = "PSAlarmSetController.m: 489";
     2365                rLen = 0;
     2366                rLoc = 21925;
     2367                rType = 0;
     2368                vrLen = 1144;
     2369                vrLoc = 21278;
     2370        };
     2371        E1156BFA03C148E2006717DC = {
     2372                fileReference = F59F6CB50354E7DA01AEEDB1;
     2373                isa = PBXFileBreakpoint;
     2374                lineNumber = 485;
     2375                state = 1;
     2376        };
     2377        E1156C2C03C394D6006717DC = {
     2378                fileReference = F59DC6D40353C9E601AEEDB1;
     2379                isa = PBXFileBreakpoint;
     2380                lineNumber = 477;
     2381                state = 1;
     2382        };
     2383        E1156C2D03C39718006717DC = {
     2384                fRef = E13919E303B9E4E100000028;
     2385                isa = PBXTextBookmark;
     2386                name = "NJRIntervalField.m: 71";
     2387                rLen = 115;
     2388                rLoc = 2331;
     2389                rType = 0;
     2390                vrLen = 1900;
     2391                vrLoc = 1587;
     2392        };
     2393        E117A4AB03C3E2FD00E10BA2 = {
     2394                fileReference = F59DC6D40353C9E601AEEDB1;
     2395                isa = PBXFileBreakpoint;
     2396                lineNumber = 502;
     2397                state = 1;
     2398        };
     2399        E117A4AC03C3E9C600E10BA2 = {
     2400                fRef = F5F1986C036B813101EB0372;
     2401                isa = PBXTextBookmark;
     2402                name = "PSSpeechAlert.m: 94";
     2403                rLen = 0;
     2404                rLoc = 2296;
     2405                rType = 0;
     2406                vrLen = 877;
     2407                vrLoc = 0;
     2408        };
     2409        E117A4AD03C3E9C600E10BA2 = {
     2410                fRef = E117A4C003C3E9C600E10BA2;
     2411                isa = PBXTextBookmark;
     2412                name = "NSObject.h: 23";
     2413                rLen = 0;
     2414                rLoc = 456;
     2415                rType = 0;
     2416                vrLen = 928;
     2417                vrLoc = 0;
     2418        };
     2419        E117A4AE03C3E9C600E10BA2 = {
     2420                fRef = E117A4C103C3E9C600E10BA2;
     2421                glyphRangeLength = 1836;
     2422                glyphRangeLocation = 27611;
     2423                isa = PBXDocBookmark;
     2424                name = "NSControl.html: controlTextD...";
     2425        };
     2426        E117A4AF03C3E9C600E10BA2 = {
     2427                fRef = E117A4C203C3E9C600E10BA2;
     2428                isa = PBXTextBookmark;
     2429                name = "NSControl.h: 121";
     2430                rLen = 81;
     2431                rLoc = 3801;
     2432                rType = 0;
     2433                vrLen = 1658;
     2434                vrLoc = 2392;
     2435        };
     2436        E117A4B003C3E9C600E10BA2 = {
     2437                fRef = E13919E303B9E4E100000028;
     2438                isa = PBXTextBookmark;
     2439                name = "NJRIntervalField.m: 137";
     2440                rLen = 0;
     2441                rLoc = 6239;
     2442                rType = 0;
     2443                vrLen = 2083;
     2444                vrLoc = 4886;
     2445        };
     2446        E117A4B203C3E9C600E10BA2 = {
     2447                fRef = F5F1986C036B813101EB0372;
     2448                isa = PBXTextBookmark;
     2449                name = "PSSpeechAlert.m: 94";
     2450                rLen = 0;
     2451                rLoc = 2296;
     2452                rType = 0;
     2453                vrLen = 877;
     2454                vrLoc = 0;
     2455        };
     2456        E117A4B303C3E9C600E10BA2 = {
     2457                fRef = F589C9C6035AA12B0155F4B2;
     2458                isa = PBXTextBookmark;
     2459                name = "Read Me.rtfd: 131";
     2460                rLen = 0;
     2461                rLoc = 11177;
     2462                rType = 0;
     2463                vrLen = 2754;
     2464                vrLoc = 7422;
     2465        };
     2466        E117A4B403C3E9C600E10BA2 = {
     2467                fRef = E13919E303B9E4E100000028;
     2468                isa = PBXTextBookmark;
     2469                name = "NJRIntervalField.m: 137";
     2470                rLen = 0;
     2471                rLoc = 6239;
     2472                rType = 0;
     2473                vrLen = 2083;
     2474                vrLoc = 4886;
     2475        };
     2476        E117A4B803C3E9C600E10BA2 = {
     2477                fRef = F5F1986C036B813101EB0372;
     2478                isa = PBXTextBookmark;
     2479                name = "PSSpeechAlert.m: 47";
     2480                rLen = 0;
     2481                rLoc = 933;
     2482                rType = 0;
     2483                vrLen = 332;
     2484                vrLoc = 854;
     2485        };
     2486        E117A4BA03C3E9C600E10BA2 = {
     2487                fRef = F5F1986C036B813101EB0372;
     2488                isa = PBXTextBookmark;
     2489                name = "PSSpeechAlert.m: 47";
     2490                rLen = 0;
     2491                rLoc = 933;
     2492                rType = 0;
     2493                vrLen = 332;
     2494                vrLoc = 854;
     2495        };
     2496        E117A4C003C3E9C600E10BA2 = {
     2497                isa = PBXFileReference;
     2498                name = NSObject.h;
     2499                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h;
     2500                refType = 0;
     2501        };
     2502        E117A4C103C3E9C600E10BA2 = {
     2503                isa = PBXFileReference;
     2504                name = NSControl.html;
     2505                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSControl.html;
     2506                refType = 0;
     2507        };
     2508        E117A4C203C3E9C600E10BA2 = {
     2509                isa = PBXFileReference;
     2510                name = NSControl.h;
     2511                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSControl.h;
     2512                refType = 0;
     2513        };
     2514        E11CD2CA03BF9B3300C49BEF = {
     2515                fRef = F517D6430356B8CC016D68B9;
     2516                isa = PBXTextBookmark;
     2517                name = "PSAlarms.h: 19";
     2518                rLen = 0;
     2519                rLoc = 455;
     2520                rType = 0;
     2521                vrLen = 814;
     2522                vrLoc = 0;
     2523        };
     2524        E11CD2D003BF9B3300C49BEF = {
     2525                fRef = E11CD30D03BF9B3300C49BEF;
     2526                isa = PBXTextBookmark;
     2527                name = "NSURL.h: 28";
     2528                rLen = 0;
     2529                rLoc = 948;
     2530                rType = 0;
     2531                vrLen = 1648;
     2532                vrLoc = 0;
     2533        };
     2534        E11CD2D103BF9B3300C49BEF = {
     2535                fRef = E11CD30E03BF9B3300C49BEF;
     2536                isa = PBXTextBookmark;
     2537                name = "NSAppleScript.h: 17";
     2538                rLen = 392;
     2539                rLoc = 671;
     2540                rType = 0;
     2541                vrLen = 1925;
     2542                vrLoc = 0;
     2543        };
     2544        E11CD2D203BF9B3300C49BEF = {
     2545                fRef = E11CD30F03BF9B3300C49BEF;
     2546                glyphRangeLength = 1212;
     2547                glyphRangeLocation = 96;
     2548                isa = PBXDocBookmark;
     2549                name = "NSAppleScript.html: Declared in ...";
     2550        };
     2551        E11CD2D303BF9B3300C49BEF = {
     2552                fRef = F5F240B9036A867901FE7503;
     2553                isa = PBXTextBookmark;
     2554                name = "BDAlias.h: 1";
     2555                rLen = 0;
     2556                rLoc = 0;
     2557                rType = 0;
     2558                vrLen = 1240;
     2559                vrLoc = 1630;
     2560        };
     2561        E11CD2D403BF9B3300C49BEF = {
     2562                fRef = E11CD31003BF9B3300C49BEF;
     2563                isa = PBXTextBookmark;
     2564                name = "NSFileManager.h: 32";
     2565                rLen = 7;
     2566                rLoc = 1066;
     2567                rType = 0;
     2568                vrLen = 1624;
     2569                vrLoc = 0;
     2570        };
     2571        E11CD2D503BF9B3300C49BEF = {
     2572                fRef = E11CD31103BF9B3300C49BEF;
     2573                isa = PBXTextBookmark;
     2574                name = "NSString.h: 158";
     2575                rLen = 48;
     2576                rLoc = 6048;
     2577                rType = 0;
     2578                vrLen = 2149;
     2579                vrLoc = 5042;
     2580        };
     2581        E11CD2D603BF9B3300C49BEF = {
     2582                fRef = E1A18CB203B439CF00000028;
     2583                isa = PBXTextBookmark;
     2584                name = "PSPropertyListSerialization.h: 1";
     2585                rLen = 0;
     2586                rLoc = 0;
     2587                rType = 0;
     2588                vrLen = 491;
     2589                vrLoc = 0;
     2590        };
     2591        E11CD2D703BF9B3300C49BEF = {
     2592                fRef = F59F6CB50354E7DA01AEEDB1;
     2593                isa = PBXTextBookmark;
     2594                name = "PSAlarm.m: message";
     2595                rLen = 23;
     2596                rLoc = 6867;
     2597                rType = 0;
     2598                vrLen = 1147;
     2599                vrLoc = 6189;
     2600        };
     2601        E11CD2D803BF9B3300C49BEF = {
     2602                fRef = F5F240CA036A869401FE7503;
     2603                isa = PBXTextBookmark;
     2604                name = "BDAlias.m: displayNameWithKindString:";
     2605                rLen = 0;
     2606                rLoc = 6212;
     2607                rType = 0;
     2608                vrLen = 987;
     2609                vrLoc = 5329;
     2610        };
     2611        E11CD2E003BF9B3300C49BEF = {
     2612                fRef = E11CD31203BF9B3300C49BEF;
     2613                isa = PBXTextBookmark;
     2614                name = "NSException.h: 95";
     2615                rLen = 60;
     2616                rLoc = 2920;
     2617                rType = 0;
     2618                vrLen = 1659;
     2619                vrLoc = 2172;
     2620        };
     2621        E11CD2E303BF9B3300C49BEF = {
     2622                fRef = F5F1986C036B813101EB0372;
     2623                isa = PBXTextBookmark;
     2624                name = "PSSpeechAlert.m: ";
     2625                rLen = 0;
     2626                rLoc = 509;
     2627                rType = 0;
     2628                vrLen = 1021;
     2629                vrLoc = 1280;
     2630        };
     2631        E11CD2E503BF9B3300C49BEF = {
     2632                fRef = F5F1986C036B813101EB0372;
     2633                isa = PBXTextBookmark;
     2634                name = "PSSpeechAlert.m: 72";
     2635                rLen = 0;
     2636                rLoc = 1694;
     2637                rType = 0;
     2638                vrLen = 1218;
     2639                vrLoc = 1083;
     2640        };
     2641        E11CD2E603BF9B3300C49BEF = {
     2642                fRef = F517D6430356B8CC016D68B9;
     2643                isa = PBXTextBookmark;
     2644                name = "PSAlarms.h: 19";
     2645                rLen = 0;
     2646                rLoc = 455;
     2647                rType = 0;
     2648                vrLen = 814;
     2649                vrLoc = 0;
     2650        };
     2651        E11CD2E703BF9B3300C49BEF = {
     2652                fRef = F517D6420356B8CC016D68B9;
     2653                isa = PBXTextBookmark;
     2654                name = "PSAlarms.m: ";
     2655                rLen = 0;
     2656                rLoc = 4424;
     2657                rType = 0;
     2658                vrLen = 1348;
     2659                vrLoc = 3368;
     2660        };
     2661        E11CD2E803BF9B3300C49BEF = {
     2662                fRef = F59E47B4036AAD55016B311C;
     2663                isa = PBXTextBookmark;
     2664                name = "PSAlarmAlertController.m: alert";
     2665                rLen = 0;
     2666                rLoc = 1130;
     2667                rType = 0;
     2668                vrLen = 1623;
     2669                vrLoc = 319;
     2670        };
     2671        E11CD2E903BF9B3300C49BEF = {
     2672                fRef = F59E47B5036AAD55016B311C;
     2673                isa = PBXTextBookmark;
     2674                name = "PSAlarmAlertController.h: PSAlarmAlertStopNotification";
     2675                rLen = 54;
     2676                rLoc = 207;
     2677                rType = 0;
     2678                vrLen = 525;
     2679                vrLoc = 0;
     2680        };
     2681        E11CD2EA03BF9B3300C49BEF = {
     2682                fRef = F59E47B4036AAD55016B311C;
     2683                isa = PBXTextBookmark;
     2684                name = "PSAlarmAlertController.m: 38";
     2685                rLen = 0;
     2686                rLoc = 1552;
     2687                rType = 0;
     2688                vrLen = 1672;
     2689                vrLoc = 319;
     2690        };
     2691        E11CD2EB03BF9B3300C49BEF = {
     2692                fRef = F59F6CB50354E7DA01AEEDB1;
     2693                isa = PBXTextBookmark;
     2694                name = "PSAlarm.m: 48";
     2695                rLen = 0;
     2696                rLoc = 1784;
     2697                rType = 0;
     2698                vrLen = 1488;
     2699                vrLoc = 729;
     2700        };
     2701        E11CD2EC03BF9B3300C49BEF = {
     2702                fRef = F5F1986C036B813101EB0372;
     2703                isa = PBXTextBookmark;
     2704                name = "PSSpeechAlert.m: ";
     2705                rLen = 0;
     2706                rLoc = 993;
     2707                rType = 0;
     2708                vrLen = 1075;
     2709                vrLoc = 508;
     2710        };
     2711        E11CD2ED03BF9B3300C49BEF = {
     2712                fRef = F517D6420356B8CC016D68B9;
     2713                isa = PBXTextBookmark;
     2714                name = "PSAlarms.m: 244";
     2715                rLen = 0;
     2716                rLoc = 7594;
     2717                rType = 0;
     2718                vrLen = 1412;
     2719                vrLoc = 6161;
     2720        };
     2721        E11CD2EE03BF9B3300C49BEF = {
     2722                fRef = F59F6CB50354E7DA01AEEDB1;
     2723                isa = PBXTextBookmark;
     2724                name = "PSAlarm.m: 48";
     2725                rLen = 0;
     2726                rLoc = 1784;
     2727                rType = 0;
     2728                vrLen = 1490;
     2729                vrLoc = 729;
     2730        };
     2731        E11CD2EF03BF9B3300C49BEF = {
     2732                fRef = F5F1986C036B813101EB0372;
     2733                isa = PBXTextBookmark;
     2734                name = "PSSpeechAlert.m: 34";
     2735                rLen = 0;
     2736                rLoc = 672;
     2737                rType = 0;
     2738                vrLen = 1066;
     2739                vrLoc = 177;
     2740        };
     2741        E11CD2F603BF9B3300C49BEF = {
     2742                fRef = E1A18CAC03B4344C00000028;
     2743                isa = PBXTextBookmark;
     2744                name = "PSAlerts.m: 45";
     2745                rLen = 0;
     2746                rLoc = 947;
     2747                rType = 0;
     2748                vrLen = 913;
     2749                vrLoc = 217;
     2750        };
     2751        E11CD2F803BF9B3300C49BEF = {
     2752                fRef = E1A18CAC03B4344C00000028;
     2753                isa = PBXTextBookmark;
     2754                name = "PSAlerts.m: 45";
     2755                rLen = 0;
     2756                rLoc = 947;
     2757                rType = 0;
     2758                vrLen = 893;
     2759                vrLoc = 217;
     2760        };
     2761        E11CD2FB03BF9B3300C49BEF = {
     2762                fRef = F59E47A7036AAA6D016B311C;
     2763                isa = PBXTextBookmark;
     2764                name = "PSAlert.m: PSAlarmAlertCompletedNotification";
     2765                rLen = 73;
     2766                rLoc = 205;
     2767                rType = 0;
     2768                vrLen = 1038;
     2769                vrLoc = 0;
     2770        };
     2771        E11CD30D03BF9B3300C49BEF = {
     2772                isa = PBXFileReference;
     2773                name = NSURL.h;
     2774                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSURL.h;
     2775                refType = 0;
     2776        };
     2777        E11CD30E03BF9B3300C49BEF = {
     2778                isa = PBXFileReference;
     2779                name = NSAppleScript.h;
     2780                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSAppleScript.h;
     2781                refType = 0;
     2782        };
     2783        E11CD30F03BF9B3300C49BEF = {
     2784                isa = PBXFileReference;
     2785                name = NSAppleScript.html;
     2786                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSAppleScript.html;
     2787                refType = 0;
     2788        };
     2789        E11CD31003BF9B3300C49BEF = {
     2790                isa = PBXFileReference;
     2791                name = NSFileManager.h;
     2792                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSFileManager.h;
     2793                refType = 0;
     2794        };
     2795        E11CD31103BF9B3300C49BEF = {
     2796                isa = PBXFileReference;
     2797                name = NSString.h;
     2798                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSString.h;
     2799                refType = 0;
     2800        };
     2801        E11CD31203BF9B3300C49BEF = {
     2802                isa = PBXFileReference;
     2803                name = NSException.h;
     2804                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSException.h;
     2805                refType = 0;
     2806        };
     2807        E12725EC03B8FE2300000028 = {
     2808                fRef = F59E47A7036AAA6D016B311C;
     2809                isa = PBXTextBookmark;
     2810                name = "PSAlert.m: propertyListRepresentation";
     2811                rLen = 0;
     2812                rLoc = 1154;
     2813                rType = 0;
     2814                vrLen = 1316;
     2815                vrLoc = 227;
     2816        };
     2817        E130B91603B69C6300000028 = {
     2818                children = (
     2819                        E130B91703B6A98E00000028,
     2820                        E130B91803B6C81D00000028,
     2821                        E12725EC03B8FE2300000028,
     2822                        E1D2936E03BD2A2700F9204E,
     2823                        E1ECA00A03C003C300F54C66,
     2824                        E1ECA00B03C0056B00F54C66,
     2825                        E1156C2D03C39718006717DC,
     2826                );
     2827                isa = PBXBookmarkGroup;
     2828                name = Root;
     2829        };
     2830        E130B91703B6A98E00000028 = {
     2831                fRef = F5F240B9036A867901FE7503;
     2832                isa = PBXTextBookmark;
     2833                name = "BDAlias.h: aliasWithData:";
     2834                rLen = 43;
     2835                rLoc = 2576;
     2836                rType = 0;
     2837                vrLen = 1579;
     2838                vrLoc = 1291;
     2839        };
     2840        E130B91803B6C81D00000028 = {
     2841                fRef = F59F6CB50354E7DA01AEEDB1;
     2842                isa = PBXBookmark;
     2843        };
     2844        E17AED7003C0F4D600B89ACF = {
     2845                fileReference = F5F1986C036B813101EB0372;
     2846                isa = PBXFileBreakpoint;
     2847                lineNumber = 91;
     2848                state = 1;
     2849        };
     2850        E17AED7203C0F5D300B89ACF = {
     2851                fRef = F59DC6D30353C9E601AEEDB1;
     2852                isa = PBXTextBookmark;
     2853                name = "PSAlarmSetController.h: 37";
     2854                rLen = 7;
     2855                rLoc = 1322;
     2856                rType = 0;
     2857                vrLen = 1567;
     2858                vrLoc = 462;
     2859        };
     2860        E17AED7303C0F5D300B89ACF = {
     2861                fRef = E17AEDD203C0F5D300B89ACF;
     2862                glyphRangeLength = 782;
     2863                glyphRangeLocation = 22457;
     2864                isa = PBXDocBookmark;
     2865                name = "NSApplication.html: isActive  - ...";
     2866        };
     2867        E17AED7403C0F5D300B89ACF = {
     2868                fRef = E17AEDD303C0F5D300B89ACF;
     2869                glyphRangeLength = 1214;
     2870                glyphRangeLocation = 6436;
     2871                isa = PBXDocBookmark;
     2872                name = "Getting_Proc__Information.html: Sets the fro...";
     2873        };
     2874        E17AED7503C0F5D300B89ACF = {
     2875                fRef = E17AEDD403C0F5D300B89ACF;
     2876                glyphRangeLength = 468;
     2877                glyphRangeLocation = 901;
     2878                isa = PBXDocBookmark;
     2879                name = "NSWorkspace.html: The constant...";
     2880        };
     2881        E17AED7603C0F5D300B89ACF = {
     2882                fRef = E17AEDD103C0F5D300B89ACF;
     2883                isa = PBXTextBookmark;
     2884                name = "Processes.h: 1";
     2885                rLen = 0;
     2886                rLoc = 0;
     2887                rType = 0;
     2888                vrLen = 932;
     2889                vrLoc = 0;
     2890        };
     2891        E17AED7703C0F5D300B89ACF = {
     2892                fRef = E17AEDD503C0F5D300B89ACF;
     2893                isa = PBXTextBookmark;
     2894                name = "NSWorkspace.h: 80";
     2895                rLen = 36;
     2896                rLoc = 2996;
     2897                rType = 0;
     2898                vrLen = 2064;
     2899                vrLoc = 2420;
     2900        };
     2901        E17AED7803C0F5D300B89ACF = {
     2902                fRef = F59E47B0036AACD1016B311C;
     2903                isa = PBXTextBookmark;
     2904                name = "PSNotifierAlert.m: actionDescription";
     2905                rLen = 0;
     2906                rLoc = 620;
     2907                rType = 0;
     2908                vrLen = 894;
     2909                vrLoc = 0;
     2910        };
     2911        E17AED7903C0F5D300B89ACF = {
     2912                fRef = F59E47BC036AB228016B311C;
     2913                isa = PBXTextBookmark;
     2914                name = "PSMovieAlert.m: 61";
     2915                rLen = 0;
     2916                rLoc = 1644;
     2917                rType = 0;
     2918                vrLen = 1158;
     2919                vrLoc = 511;
     2920        };
     2921        E17AED7A03C0F5D300B89ACF = {
     2922                fRef = F59E47C0036B1ADD016B311C;
     2923                isa = PBXTextBookmark;
     2924                name = "PSMovieAlertController.m: delay";
     2925                rLen = 0;
     2926                rLoc = 664;
     2927                rType = 0;
     2928                vrLen = 1660;
     2929                vrLoc = 319;
     2930        };
     2931        E17AED7B03C0F5D300B89ACF = {
     2932                fRef = E17AEDD603C0F5D300B89ACF;
     2933                isa = PBXTextBookmark;
     2934                name = "NSApplication.h: 96";
     2935                rLen = 25;
     2936                rLoc = 3085;
     2937                rType = 0;
     2938                vrLen = 1433;
     2939                vrLoc = 2268;
     2940        };
     2941        E17AED7C03C0F5D300B89ACF = {
     2942                fRef = F59E47A7036AAA6D016B311C;
     2943                isa = PBXTextBookmark;
     2944                name = "PSAlert.m: 41";
     2945                rLen = 0;
     2946                rLoc = 932;
     2947                rType = 0;
     2948                vrLen = 1060;
     2949                vrLoc = 31;
     2950        };
     2951        E17AED7D03C0F5D300B89ACF = {
     2952                fRef = F59DC6DB0353DE5101AEEDB1;
     2953                isa = PBXTextBookmark;
     2954                name = "PSAlarmNotifierController.h: 25";
     2955                rLen = 0;
     2956                rLoc = 639;
     2957                rType = 0;
     2958                vrLen = 804;
     2959                vrLoc = 0;
     2960        };
     2961        E17AED7E03C0F5D300B89ACF = {
     2962                fRef = E1A18CAB03B4344C00000028;
     2963                isa = PBXTextBookmark;
     2964                name = "PSAlerts.h: requirePesterFrontmost";
     2965                rLen = 77;
     2966                rLoc = 532;
     2967                rType = 0;
     2968                vrLen = 0;
     2969                vrLoc = 0;
     2970        };
     2971        E17AED7F03C0F5D300B89ACF = {
     2972                fRef = F517D6420356B8CC016D68B9;
     2973                isa = PBXTextBookmark;
     2974                name = "PSAlarms.m: 205";
     2975                rLen = 0;
     2976                rLoc = 5996;
     2977                rType = 0;
     2978                vrLen = 1441;
     2979                vrLoc = 2048;
     2980        };
     2981        E17AED8003C0F5D300B89ACF = {
     2982                fRef = F59DC6DC0353DE5101AEEDB1;
     2983                isa = PBXTextBookmark;
     2984                name = "PSAlarmNotifierController.m: 47";
     2985                rLen = 0;
     2986                rLoc = 1751;
     2987                rType = 0;
     2988                vrLen = 1652;
     2989                vrLoc = 284;
     2990        };
     2991        E17AED8103C0F5D300B89ACF = {
     2992                fRef = F517D63E0356B80C016D68B9;
     2993                isa = PBXTextBookmark;
     2994                name = "PSAlarmsController.m: __GNUC__";
     2995                rLen = 0;
     2996                rLoc = 0;
     2997                rType = 0;
     2998                vrLen = 1665;
     2999                vrLoc = 0;
     3000        };
     3001        E17AED8203C0F5D300B89ACF = {
     3002                fRef = F59DC6D40353C9E601AEEDB1;
     3003                isa = PBXTextBookmark;
     3004                name = "PSAlarmSetController.m: 513";
     3005                rLen = 0;
     3006                rLoc = 22685;
     3007                rType = 0;
     3008                vrLen = 1154;
     3009                vrLoc = 21333;
     3010        };
     3011        E17AED8303C0F5D300B89ACF = {
     3012                fRef = F59E47A8036AAA6D016B311C;
     3013                isa = PBXTextBookmark;
     3014                name = "PSAlert.h: requiresPesterFrontmost";
     3015                rLen = 33;
     3016                rLoc = 599;
     3017                rType = 0;
     3018                vrLen = 781;
     3019                vrLoc = 0;
     3020        };
     3021        E17AED8403C0F5D300B89ACF = {
     3022                fRef = F59E47B5036AAD55016B311C;
     3023                isa = PBXTextBookmark;
     3024                name = "PSAlarmAlertController.h: 17";
     3025                rLen = 23;
     3026                rLoc = 380;
     3027                rType = 0;
     3028                vrLen = 586;
     3029                vrLoc = 0;
     3030        };
     3031        E17AED8503C0F5D300B89ACF = {
     3032                fRef = F59E47B4036AAD55016B311C;
     3033                isa = PBXTextBookmark;
     3034                name = "PSAlarmAlertController.m: 62";
     3035                rLen = 14;
     3036                rLoc = 2149;
     3037                rType = 0;
     3038                vrLen = 1536;
     3039                vrLoc = 1552;
     3040        };
     3041        E17AED8603C0F5D300B89ACF = {
     3042                fRef = E1A18CAC03B4344C00000028;
     3043                isa = PBXTextBookmark;
     3044                name = "PSAlerts.m: addAlert:";
     3045                rLen = 0;
     3046                rLoc = 920;
     3047                rType = 0;
     3048                vrLen = 741;
     3049                vrLoc = 843;
     3050        };
     3051        E17AED8703C0F5D300B89ACF = {
     3052                fRef = F5F19867036B80AF01EB0372;
     3053                isa = PBXTextBookmark;
     3054                name = "SUSpeaker.m: handleMessage:";
     3055                rLen = 17;
     3056                rLoc = 5621;
     3057                rType = 0;
     3058                vrLen = 1014;
     3059                vrLoc = 5080;
     3060        };
     3061        E17AED8803C0F5D300B89ACF = {
     3062                fRef = F5F19866036B80AF01EB0372;
     3063                isa = PBXTextBookmark;
     3064                name = "SUSpeaker.h: didFinishSpeaking:";
     3065                rLen = 47;
     3066                rLoc = 660;
     3067                rType = 0;
     3068                vrLen = 787;
     3069                vrLoc = 0;
     3070        };
     3071        E17AED8903C0F5D300B89ACF = {
     3072                fRef = F5F1986D036B813101EB0372;
     3073                isa = PBXTextBookmark;
     3074                name = "PSSpeechAlert.h: 16";
     3075                rLen = 0;
     3076                rLoc = 295;
     3077                rType = 0;
     3078                vrLen = 422;
     3079                vrLoc = 0;
     3080        };
     3081        E17AED8B03C0F5D300B89ACF = {
     3082                fRef = F59DC6D40353C9E601AEEDB1;
     3083                isa = PBXTextBookmark;
     3084                name = "PSAlarmSetController.m: 510";
     3085                rLen = 0;
     3086                rLoc = 22661;
     3087                rType = 0;
     3088                vrLen = 1204;
     3089                vrLoc = 21245;
     3090        };
     3091        E17AED8C03C0F5D300B89ACF = {
     3092                fRef = F59DC6D30353C9E601AEEDB1;
     3093                isa = PBXTextBookmark;
     3094                name = "PSAlarmSetController.h: 37";
     3095                rLen = 7;
     3096                rLoc = 1322;
     3097                rType = 0;
     3098                vrLen = 1567;
     3099                vrLoc = 462;
     3100        };
     3101        E17AED8D03C0F5D300B89ACF = {
     3102                fRef = F59DC6D40353C9E601AEEDB1;
     3103                isa = PBXTextBookmark;
     3104                name = "PSAlarmSetController.m: 513";
     3105                rLen = 0;
     3106                rLoc = 22685;
     3107                rType = 0;
     3108                vrLen = 1154;
     3109                vrLoc = 21333;
     3110        };
     3111        E17AED8E03C0F5D300B89ACF = {
     3112                fRef = F59E47B4036AAD55016B311C;
     3113                isa = PBXTextBookmark;
     3114                name = "PSAlarmAlertController.m: 38";
     3115                rLen = 0;
     3116                rLoc = 1552;
     3117                rType = 0;
     3118                vrLen = 1406;
     3119                vrLoc = 96;
     3120        };
     3121        E17AED8F03C0F5D300B89ACF = {
     3122                fRef = F59DC6DC0353DE5101AEEDB1;
     3123                isa = PBXTextBookmark;
     3124                name = "PSAlarmNotifierController.m: 50";
     3125                rLen = 0;
     3126                rLoc = 1827;
     3127                rType = 0;
     3128                vrLen = 1564;
     3129                vrLoc = 493;
     3130        };
     3131        E17AED9003C0F5D300B89ACF = {
     3132                fRef = F59DC6DB0353DE5101AEEDB1;
     3133                isa = PBXTextBookmark;
     3134                name = "PSAlarmNotifierController.h: 25";
     3135                rLen = 0;
     3136                rLoc = 639;
     3137                rType = 0;
     3138                vrLen = 804;
     3139                vrLoc = 0;
     3140        };
     3141        E17AED9103C0F5D300B89ACF = {
     3142                fRef = F59DC6DC0353DE5101AEEDB1;
     3143                isa = PBXTextBookmark;
     3144                name = "PSAlarmNotifierController.m: 159";
     3145                rLen = 0;
     3146                rLoc = 5636;
     3147                rType = 0;
     3148                vrLen = 1391;
     3149                vrLoc = 3831;
     3150        };
     3151        E17AED9203C0F5D300B89ACF = {
     3152                fRef = F59DC6DB0353DE5101AEEDB1;
     3153                isa = PBXTextBookmark;
     3154                name = "PSAlarmNotifierController.h: 25";
     3155                rLen = 0;
     3156                rLoc = 639;
     3157                rType = 0;
     3158                vrLen = 804;
     3159                vrLoc = 0;
     3160        };
     3161        E17AED9303C0F5D300B89ACF = {
     3162                fRef = F59DC6DC0353DE5101AEEDB1;
     3163                isa = PBXTextBookmark;
     3164                name = "PSAlarmNotifierController.m: 52";
     3165                rLen = 0;
     3166                rLoc = 1827;
     3167                rType = 0;
     3168                vrLen = 1385;
     3169                vrLoc = 1429;
     3170        };
     3171        E17AED9403C0F5D300B89ACF = {
     3172                fRef = F59DC6DB0353DE5101AEEDB1;
     3173                isa = PBXTextBookmark;
     3174                name = "PSAlarmNotifierController.h: 25";
     3175                rLen = 0;
     3176                rLoc = 639;
     3177                rType = 0;
     3178                vrLen = 804;
     3179                vrLoc = 0;
     3180        };
     3181        E17AED9503C0F5D300B89ACF = {
     3182                fRef = F59DC6DC0353DE5101AEEDB1;
     3183                isa = PBXTextBookmark;
     3184                name = "PSAlarmNotifierController.m: 50";
     3185                rLen = 0;
     3186                rLoc = 1827;
     3187                rType = 0;
     3188                vrLen = 1485;
     3189                vrLoc = 1429;
     3190        };
     3191        E17AED9603C0F5D300B89ACF = {
     3192                fRef = F59E47B4036AAD55016B311C;
     3193                isa = PBXTextBookmark;
     3194                name = "PSAlarmAlertController.m: 29";
     3195                rLen = 0;
     3196                rLoc = 757;
     3197                rType = 0;
     3198                vrLen = 1496;
     3199                vrLoc = 729;
     3200        };
     3201        E17AED9703C0F5D300B89ACF = {
     3202                fRef = E1A18CAC03B4344C00000028;
     3203                isa = PBXTextBookmark;
     3204                name = "PSAlerts.m: 89";
     3205                rLen = 0;
     3206                rLoc = 2071;
     3207                rType = 0;
     3208                vrLen = 1425;
     3209                vrLoc = 1072;
     3210        };
     3211        E17AED9803C0F5D300B89ACF = {
     3212                fRef = E1A18CAB03B4344C00000028;
     3213                isa = PBXTextBookmark;
     3214                name = "PSAlerts.h: allAlerts";
     3215                rLen = 77;
     3216                rLoc = 532;
     3217                rType = 0;
     3218                vrLen = 663;
     3219                vrLoc = 0;
     3220        };
     3221        E17AED9903C0F5D300B89ACF = {
     3222                fRef = E1A18CAC03B4344C00000028;
     3223                isa = PBXTextBookmark;
     3224                name = "PSAlerts.m: triggerForAlarm:";
     3225                rLen = 22;
     3226                rLoc = 1339;
     3227                rType = 0;
     3228                vrLen = 815;
     3229                vrLoc = 879;
     3230        };
     3231        E17AED9A03C0F5D300B89ACF = {
     3232                fRef = E1A18CAB03B4344C00000028;
     3233                isa = PBXTextBookmark;
     3234                name = "PSAlerts.h: triggerForAlarm:";
     3235                rLen = 77;
     3236                rLoc = 532;
     3237                rType = 0;
     3238                vrLen = 697;
     3239                vrLoc = 0;
     3240        };
     3241        E17AED9B03C0F5D300B89ACF = {
     3242                fRef = F59E47A7036AAA6D016B311C;
     3243                isa = PBXTextBookmark;
     3244                name = "PSAlert.m: 34";
     3245                rLen = 0;
     3246                rLoc = 871;
     3247                rType = 0;
     3248                vrLen = 1038;
     3249                vrLoc = 0;
     3250        };
     3251        E17AED9C03C0F5D300B89ACF = {
     3252                fRef = F59E47A8036AAA6D016B311C;
     3253                isa = PBXTextBookmark;
     3254                name = "PSAlert.h: 25";
     3255                rLen = 33;
     3256                rLoc = 599;
     3257                rType = 0;
     3258                vrLen = 781;
     3259                vrLoc = 0;
     3260        };
     3261        E17AED9D03C0F5D300B89ACF = {
     3262                fRef = F59E47A7036AAA6D016B311C;
     3263                isa = PBXTextBookmark;
     3264                name = "PSAlert.m: actionDescription";
     3265                rLen = 0;
     3266                rLoc = 975;
     3267                rType = 0;
     3268                vrLen = 1038;
     3269                vrLoc = 0;
     3270        };
     3271        E17AED9E03C0F5D300B89ACF = {
     3272                fRef = F59E47A8036AAA6D016B311C;
     3273                isa = PBXTextBookmark;
     3274                name = "PSAlert.h: 25";
     3275                rLen = 33;
     3276                rLoc = 599;
     3277                rType = 0;
     3278                vrLen = 781;
     3279                vrLoc = 0;
     3280        };
     3281        E17AED9F03C0F5D300B89ACF = {
     3282                fRef = F59E47A7036AAA6D016B311C;
     3283                isa = PBXTextBookmark;
     3284                name = "PSAlert.m: completedForAlarm:";
     3285                rLen = 52;
     3286                rLoc = 648;
     3287                rType = 0;
     3288                vrLen = 978;
     3289                vrLoc = 0;
     3290        };
     3291        E17AEDA003C0F5D300B89ACF = {
     3292                fRef = F59E47B0036AACD1016B311C;
     3293                isa = PBXTextBookmark;
     3294                name = "PSNotifierAlert.m: actionDescription";
     3295                rLen = 0;
     3296                rLoc = 620;
     3297                rType = 0;
     3298                vrLen = 894;
     3299                vrLoc = 0;
     3300        };
     3301        E17AEDA103C0F5D300B89ACF = {
     3302                fRef = F59E47BC036AB228016B311C;
     3303                isa = PBXTextBookmark;
     3304                name = "PSMovieAlert.m: 61";
     3305                rLen = 0;
     3306                rLoc = 1644;
     3307                rType = 0;
     3308                vrLen = 1158;
     3309                vrLoc = 511;
     3310        };
     3311        E17AEDA203C0F5D300B89ACF = {
     3312                fRef = E1A18CAC03B4344C00000028;
     3313                isa = PBXTextBookmark;
     3314                name = "PSAlerts.m: 64";
     3315                rLen = 0;
     3316                rLoc = 1248;
     3317                rType = 0;
     3318                vrLen = 821;
     3319                vrLoc = 881;
     3320        };
     3321        E17AEDA303C0F5D300B89ACF = {
     3322                fRef = F59E47A8036AAA6D016B311C;
     3323                isa = PBXTextBookmark;
     3324                name = "PSAlert.h: 25";
     3325                rLen = 33;
     3326                rLoc = 599;
     3327                rType = 0;
     3328                vrLen = 781;
     3329                vrLoc = 0;
     3330        };
     3331        E17AEDA403C0F5D300B89ACF = {
     3332                fRef = F59DC6DB0353DE5101AEEDB1;
     3333                isa = PBXTextBookmark;
     3334                name = "PSAlarmNotifierController.h: 25";
     3335                rLen = 0;
     3336                rLoc = 639;
     3337                rType = 0;
     3338                vrLen = 804;
     3339                vrLoc = 0;
     3340        };
     3341        E17AEDA503C0F5D300B89ACF = {
     3342                fRef = F59E47B4036AAD55016B311C;
     3343                isa = PBXTextBookmark;
     3344                name = "PSAlarmAlertController.m: 29";
     3345                rLen = 0;
     3346                rLoc = 757;
     3347                rType = 0;
     3348                vrLen = 1491;
     3349                vrLoc = 729;
     3350        };
     3351        E17AEDA603C0F5D300B89ACF = {
     3352                fRef = F59E47B5036AAD55016B311C;
     3353                isa = PBXTextBookmark;
     3354                name = "PSAlarmAlertController.h: 16";
     3355                rLen = 0;
     3356                rLoc = 402;
     3357                rType = 0;
     3358                vrLen = 563;
     3359                vrLoc = 0;
     3360        };
     3361        E17AEDA703C0F5D300B89ACF = {
     3362                fRef = F59DC6DC0353DE5101AEEDB1;
     3363                isa = PBXTextBookmark;
     3364                name = "PSAlarmNotifierController.m: __GNUC__";
     3365                rLen = 0;
     3366                rLoc = 0;
     3367                rType = 0;
     3368                vrLen = 1568;
     3369                vrLoc = 0;
     3370        };
     3371        E17AEDA803C0F5D300B89ACF = {
     3372                fRef = F59DC6DB0353DE5101AEEDB1;
     3373                isa = PBXTextBookmark;
     3374                name = "PSAlarmNotifierController.h: 25";
     3375                rLen = 0;
     3376                rLoc = 639;
     3377                rType = 0;
     3378                vrLen = 804;
     3379                vrLoc = 0;
     3380        };
     3381        E17AEDA903C0F5D300B89ACF = {
     3382                fRef = F59DC6DC0353DE5101AEEDB1;
     3383                isa = PBXTextBookmark;
     3384                name = "PSAlarmNotifierController.m: 50";
     3385                rLen = 0;
     3386                rLoc = 1827;
     3387                rType = 0;
     3388                vrLen = 1333;
     3389                vrLoc = 1429;
     3390        };
     3391        E17AEDAA03C0F5D300B89ACF = {
     3392                fRef = F59E47C0036B1ADD016B311C;
     3393                isa = PBXTextBookmark;
     3394                name = "PSMovieAlertController.m: delay";
     3395                rLen = 0;
     3396                rLoc = 664;
     3397                rType = 0;
     3398                vrLen = 1660;
     3399                vrLoc = 319;
     3400        };
     3401        E17AEDAB03C0F5D300B89ACF = {
     3402                fRef = F59DC6DC0353DE5101AEEDB1;
     3403                isa = PBXTextBookmark;
     3404                name = "PSAlarmNotifierController.m: 49";
     3405                rLen = 0;
     3406                rLoc = 1821;
     3407                rType = 0;
     3408                vrLen = 1331;
     3409                vrLoc = 1429;
     3410        };
     3411        E17AEDAC03C0F5D300B89ACF = {
     3412                fRef = F59E47B4036AAD55016B311C;
     3413                isa = PBXTextBookmark;
     3414                name = "PSAlarmAlertController.m: ";
     3415                rLen = 0;
     3416                rLoc = 2744;
     3417                rType = 0;
     3418                vrLen = 1857;
     3419                vrLoc = 727;
     3420        };
     3421        E17AEDAD03C0F5D300B89ACF = {
     3422                fRef = F59DC6DC0353DE5101AEEDB1;
     3423                isa = PBXTextBookmark;
     3424                name = "PSAlarmNotifierController.m: 149";
     3425                rLen = 0;
     3426                rLoc = 5300;
     3427                rType = 0;
     3428                vrLen = 1627;
     3429                vrLoc = 3595;
     3430        };
     3431        E17AEDAE03C0F5D300B89ACF = {
     3432                fRef = F59E47B4036AAD55016B311C;
     3433                isa = PBXTextBookmark;
     3434                name = "PSAlarmAlertController.m: 60";
     3435                rLen = 0;
     3436                rLoc = 2426;
     3437                rType = 0;
     3438                vrLen = 1856;
     3439                vrLoc = 727;
     3440        };
     3441        E17AEDAF03C0F5D300B89ACF = {
     3442                fRef = F59E47B5036AAD55016B311C;
     3443                isa = PBXTextBookmark;
     3444                name = "PSAlarmAlertController.h: 17";
     3445                rLen = 23;
     3446                rLoc = 380;
     3447                rType = 0;
     3448                vrLen = 586;
     3449                vrLoc = 0;
     3450        };
     3451        E17AEDB003C0F5D300B89ACF = {
     3452                fRef = F59E47B4036AAD55016B311C;
     3453                isa = PBXTextBookmark;
     3454                name = "PSAlarmAlertController.m: _alertCompleted:";
     3455                rLen = 0;
     3456                rLoc = 1045;
     3457                rType = 0;
     3458                vrLen = 1704;
     3459                vrLoc = 359;
     3460        };
     3461        E17AEDB103C0F5D300B89ACF = {
     3462                fRef = F59E47B5036AAD55016B311C;
     3463                isa = PBXTextBookmark;
     3464                name = "PSAlarmAlertController.h: 17";
     3465                rLen = 23;
     3466                rLoc = 380;
     3467                rType = 0;
     3468                vrLen = 586;
     3469                vrLoc = 0;
     3470        };
     3471        E17AEDB203C0F5D300B89ACF = {
     3472                fRef = F59E47B4036AAD55016B311C;
     3473                isa = PBXTextBookmark;
     3474                name = "PSAlarmAlertController.m: 32";
     3475                rLen = 0;
     3476                rLoc = 985;
     3477                rType = 0;
     3478                vrLen = 1642;
     3479                vrLoc = 359;
     3480        };
     3481        E17AEDB303C0F5D300B89ACF = {
     3482                fRef = E1A18CAC03B4344C00000028;
     3483                isa = PBXTextBookmark;
     3484                name = "PSAlerts.m: requirePesterFrontmost";
     3485                rLen = 0;
     3486                rLoc = 1325;
     3487                rType = 0;
     3488                vrLen = 823;
     3489                vrLoc = 843;
     3490        };
     3491        E17AEDB403C0F5D300B89ACF = {
     3492                fRef = F59E47A7036AAA6D016B311C;
     3493                isa = PBXTextBookmark;
     3494                name = "PSAlert.m: 41";
     3495                rLen = 0;
     3496                rLoc = 932;
     3497                rType = 0;
     3498                vrLen = 1060;
     3499                vrLoc = 31;
     3500        };
     3501        E17AEDB503C0F5D300B89ACF = {
     3502                fRef = F59E47B4036AAD55016B311C;
     3503                isa = PBXTextBookmark;
     3504                name = "PSAlarmAlertController.m: 29";
     3505                rLen = 142;
     3506                rLoc = 785;
     3507                rType = 0;
     3508                vrLen = 1425;
     3509                vrLoc = 0;
     3510        };
     3511        E17AEDB603C0F5D300B89ACF = {
     3512                fRef = F59DC6DC0353DE5101AEEDB1;
     3513                isa = PBXTextBookmark;
     3514                name = "PSAlarmNotifierController.m: 149";
     3515                rLen = 0;
     3516                rLoc = 5300;
     3517                rType = 0;
     3518                vrLen = 1568;
     3519                vrLoc = 0;
     3520        };
     3521        E17AEDB703C0F5D300B89ACF = {
     3522                fRef = F59DC6D40353C9E601AEEDB1;
     3523                isa = PBXTextBookmark;
     3524                name = "PSAlarmSetController.m: 513";
     3525                rLen = 0;
     3526                rLoc = 22685;
     3527                rType = 0;
     3528                vrLen = 1154;
     3529                vrLoc = 21333;
     3530        };
     3531        E17AEDB803C0F5D300B89ACF = {
     3532                fRef = F59DC6DB0353DE5101AEEDB1;
     3533                isa = PBXTextBookmark;
     3534                name = "PSAlarmNotifierController.h: 25";
     3535                rLen = 0;
     3536                rLoc = 639;
     3537                rType = 0;
     3538                vrLen = 804;
     3539                vrLoc = 0;
     3540        };
     3541        E17AEDB903C0F5D300B89ACF = {
     3542                fRef = F59E47B4036AAD55016B311C;
     3543                isa = PBXTextBookmark;
     3544                name = "PSAlarmAlertController.m: 67";
     3545                rLen = 0;
     3546                rLoc = 2592;
     3547                rType = 0;
     3548                vrLen = 1800;
     3549                vrLoc = 1111;
     3550        };
     3551        E17AEDBA03C0F5D300B89ACF = {
     3552                fRef = E1A18CAB03B4344C00000028;
     3553                isa = PBXTextBookmark;
     3554                name = "PSAlerts.h: requirePesterFrontmost";
     3555                rLen = 77;
     3556                rLoc = 532;
     3557                rType = 0;
     3558                vrLen = 0;
     3559                vrLoc = 0;
     3560        };
     3561        E17AEDBB03C0F5D300B89ACF = {
     3562                fRef = F517D6420356B8CC016D68B9;
     3563                isa = PBXTextBookmark;
     3564                name = "PSAlarms.m: 205";
     3565                rLen = 0;
     3566                rLoc = 5996;
     3567                rType = 0;
     3568                vrLen = 1441;
     3569                vrLoc = 2048;
     3570        };
     3571        E17AEDBC03C0F5D300B89ACF = {
     3572                fRef = F5F1986D036B813101EB0372;
     3573                isa = PBXTextBookmark;
     3574                name = "PSSpeechAlert.h: 10";
     3575                rLen = 0;
     3576                rLoc = 174;
     3577                rType = 0;
     3578                vrLen = 422;
     3579                vrLoc = 0;
     3580        };
     3581        E17AEDBD03C0F5D300B89ACF = {
     3582                fRef = F5F1986C036B813101EB0372;
     3583                isa = PBXTextBookmark;
     3584                name = "PSSpeechAlert.m: 12";
     3585                rLen = 0;
     3586                rLoc = 272;
     3587                rType = 0;
     3588                vrLen = 877;
     3589                vrLoc = 0;
     3590        };
     3591        E17AEDBE03C0F5D300B89ACF = {
     3592                fRef = F59DC6DC0353DE5101AEEDB1;
     3593                isa = PBXTextBookmark;
     3594                name = "PSAlarmNotifierController.m: 47";
     3595                rLen = 0;
     3596                rLoc = 1751;
     3597                rType = 0;
     3598                vrLen = 1652;
     3599                vrLoc = 284;
     3600        };
     3601        E17AEDBF03C0F5D300B89ACF = {
     3602                fRef = E1A18CAC03B4344C00000028;
     3603                isa = PBXTextBookmark;
     3604                name = "PSAlerts.m: addAlert:";
     3605                rLen = 0;
     3606                rLoc = 920;
     3607                rType = 0;
     3608                vrLen = 741;
     3609                vrLoc = 843;
     3610        };
     3611        E17AEDC003C0F5D300B89ACF = {
     3612                fRef = F59E47B4036AAD55016B311C;
     3613                isa = PBXTextBookmark;
     3614                name = "PSAlarmAlertController.m: 78";
     3615                rLen = 0;
     3616                rLoc = 3026;
     3617                rType = 0;
     3618                vrLen = 1532;
     3619                vrLoc = 1387;
     3620        };
     3621        E17AEDC103C0F5D300B89ACF = {
     3622                fRef = F5F1986C036B813101EB0372;
     3623                isa = PBXTextBookmark;
     3624                name = "PSSpeechAlert.m: 27";
     3625                rLen = 0;
     3626                rLoc = 611;
     3627                rType = 0;
     3628                vrLen = 1116;
     3629                vrLoc = 389;
     3630        };
     3631        E17AEDC203C0F5D300B89ACF = {
     3632                fRef = F59E47B4036AAD55016B311C;
     3633                isa = PBXTextBookmark;
     3634                name = "PSAlarmAlertController.m: 78";
     3635                rLen = 32;
     3636                rLoc = 2998;
     3637                rType = 0;
     3638                vrLen = 1636;
     3639                vrLoc = 1287;
     3640        };
     3641        E17AEDC303C0F5D300B89ACF = {
     3642                fRef = F5F1986C036B813101EB0372;
     3643                isa = PBXTextBookmark;
     3644                name = "PSSpeechAlert.m: 19";
     3645                rLen = 0;
     3646                rLoc = 398;
     3647                rType = 0;
     3648                vrLen = 1067;
     3649                vrLoc = 296;
     3650        };
     3651        E17AEDC403C0F5D300B89ACF = {
     3652                fRef = F517D63E0356B80C016D68B9;
     3653                isa = PBXTextBookmark;
     3654                name = "PSAlarmsController.m: __GNUC__";
     3655                rLen = 0;
     3656                rLoc = 0;
     3657                rType = 0;
     3658                vrLen = 1665;
     3659                vrLoc = 0;
     3660        };
     3661        E17AEDC503C0F5D300B89ACF = {
     3662                fRef = F59DC6D40353C9E601AEEDB1;
     3663                isa = PBXTextBookmark;
     3664                name = "PSAlarmSetController.m: 513";
     3665                rLen = 0;
     3666                rLoc = 22685;
     3667                rType = 0;
     3668                vrLen = 1154;
     3669                vrLoc = 21333;
     3670        };
     3671        E17AEDC603C0F5D300B89ACF = {
     3672                fRef = F59E47B4036AAD55016B311C;
     3673                isa = PBXTextBookmark;
     3674                name = "PSAlarmAlertController.m: 62";
     3675                rLen = 14;
     3676                rLoc = 2149;
     3677                rType = 0;
     3678                vrLen = 1536;
     3679                vrLoc = 1552;
     3680        };
     3681        E17AEDC703C0F5D300B89ACF = {
     3682                fRef = E1A18CAC03B4344C00000028;
     3683                isa = PBXTextBookmark;
     3684                name = "PSAlerts.m: addAlert:";
     3685                rLen = 0;
     3686                rLoc = 920;
     3687                rType = 0;
     3688                vrLen = 741;
     3689                vrLoc = 843;
     3690        };
     3691        E17AEDC803C0F5D300B89ACF = {
     3692                fRef = F5F1986C036B813101EB0372;
     3693                isa = PBXTextBookmark;
     3694                name = "PSSpeechAlert.m: 93";
     3695                rLen = 0;
     3696                rLoc = 2219;
     3697                rType = 0;
     3698                vrLen = 1069;
     3699                vrLoc = 1232;
     3700        };
     3701        E17AEDC903C0F5D300B89ACF = {
     3702                fRef = F5F1986D036B813101EB0372;
     3703                isa = PBXTextBookmark;
     3704                name = "PSSpeechAlert.h: 16";
     3705                rLen = 0;
     3706                rLoc = 295;
     3707                rType = 0;
     3708                vrLen = 422;
     3709                vrLoc = 0;
     3710        };
     3711        E17AEDCC03C0F5D300B89ACF = {
     3712                fRef = F5F19867036B80AF01EB0372;
     3713                isa = PBXTextBookmark;
     3714                name = "SUSpeaker.m: handleMessage:";
     3715                rLen = 0;
     3716                rLoc = 5653;
     3717                rType = 0;
     3718                vrLen = 278;
     3719                vrLoc = 5524;
     3720        };
     3721        E17AEDCE03C0F5D300B89ACF = {
     3722                fRef = F5F1986C036B813101EB0372;
     3723                isa = PBXTextBookmark;
     3724                name = "PSSpeechAlert.m: 93";
     3725                rLen = 0;
     3726                rLoc = 2219;
     3727                rType = 0;
     3728                vrLen = 104;
     3729                vrLoc = 2197;
     3730        };
     3731        E17AEDCF03C0F5D300B89ACF = {
     3732                fRef = F5F19867036B80AF01EB0372;
     3733                isa = PBXTextBookmark;
     3734                name = "SUSpeaker.m: handleMessage:";
     3735                rLen = 0;
     3736                rLoc = 5653;
     3737                rType = 0;
     3738                vrLen = 278;
     3739                vrLoc = 5524;
     3740        };
     3741        E17AEDD103C0F5D300B89ACF = {
     3742                isa = PBXFileReference;
     3743                name = Processes.h;
     3744                path = /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Headers/Processes.h;
     3745                refType = 0;
     3746        };
     3747        E17AEDD203C0F5D300B89ACF = {
     3748                isa = PBXFileReference;
     3749                name = NSApplication.html;
     3750                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSApplication.html;
     3751                refType = 0;
     3752        };
     3753        E17AEDD303C0F5D300B89ACF = {
     3754                isa = PBXFileReference;
     3755                name = Getting_Proc__Information.html;
     3756                path = /Developer/Documentation/Carbon/oss/ProcessManager/Process_Manager/Functions/Getting_Proc__Information.html;
     3757                refType = 0;
     3758        };
     3759        E17AEDD403C0F5D300B89ACF = {
     3760                isa = PBXFileReference;
     3761                name = NSWorkspace.html;
     3762                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSWorkspace.html;
     3763                refType = 0;
     3764        };
     3765        E17AEDD503C0F5D300B89ACF = {
     3766                isa = PBXFileReference;
     3767                name = NSWorkspace.h;
     3768                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWorkspace.h;
     3769                refType = 0;
     3770        };
     3771        E17AEDD603C0F5D300B89ACF = {
     3772                isa = PBXFileReference;
     3773                name = NSApplication.h;
     3774                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSApplication.h;
     3775                refType = 0;
     3776        };
     3777        E195A26303BE251F00186F9B = {
     3778                fRef = F560E2F20357506401A4E466;
     3779                isa = PBXTextBookmark;
     3780                name = "PSApplication.h: 1";
     3781                rLen = 0;
     3782                rLoc = 0;
     3783                rType = 0;
     3784                vrLen = 609;
     3785                vrLoc = 0;
     3786        };
     3787        E195A26403BE251F00186F9B = {
     3788                fRef = F5F198D0036BE57401EB0372;
     3789                isa = PBXTextBookmark;
     3790                name = "NJRTableDelegate.m: __VERSION__";
     3791                rLen = 0;
     3792                rLoc = 0;
     3793                rType = 0;
     3794                vrLen = 1350;
     3795                vrLoc = 0;
     3796        };
     3797        E195A26503BE251F00186F9B = {
     3798                fRef = F5F198D1036BE57401EB0372;
     3799                isa = PBXTextBookmark;
     3800                name = "NJRTableDelegate.h: 1";
     3801                rLen = 0;
     3802                rLoc = 0;
     3803                rType = 0;
     3804                vrLen = 546;
     3805                vrLoc = 0;
     3806        };
     3807        E195A26603BE251F00186F9B = {
     3808                fRef = E195A32003BE251F00186F9B;
     3809                isa = PBXTextBookmark;
     3810                name = "fp.h: 2178";
     3811                rLen = 39;
     3812                rLoc = 68209;
     3813                rType = 0;
     3814                vrLen = 1340;
     3815                vrLoc = 67559;
     3816        };
     3817        E195A26703BE251F00186F9B = {
     3818                fRef = E195A32103BE251F00186F9B;
     3819                isa = PBXTextBookmark;
     3820                name = "float.h: 241";
     3821                rLen = 5;
     3822                rLoc = 8672;
     3823                rType = 0;
     3824                vrLen = 1576;
     3825                vrLoc = 0;
     3826        };
     3827        E195A26803BE251F00186F9B = {
     3828                fRef = E195A31403BE251F00186F9B;
     3829                isa = PBXTextBookmark;
     3830                name = "stdlib.h: 1";
     3831                rLen = 0;
     3832                rLoc = 0;
     3833                rType = 0;
     3834                vrLen = 2595;
     3835                vrLoc = 0;
     3836        };
     3837        E195A26C03BE251F00186F9B = {
     3838                fRef = E1F0B14E03ADBE3800AEFBE0;
     3839                isa = PBXTextBookmark;
     3840                name = "NSString-NJRExtensions.h: 1";
     3841                rLen = 0;
     3842                rLoc = 0;
     3843                rType = 0;
     3844                vrLen = 598;
     3845                vrLoc = 0;
     3846        };
     3847        E195A26D03BE251F00186F9B = {
     3848                fRef = E1F0B14F03ADBE3800AEFBE0;
     3849                isa = PBXTextBookmark;
     3850                name = "NSString-NJRExtensions.m: __STDC__";
     3851                rLen = 35;
     3852                rLoc = 160;
     3853                rType = 0;
     3854                vrLen = 1309;
     3855                vrLoc = 0;
     3856        };
     3857        E195A26E03BE251F00186F9B = {
     3858                fRef = E195A31603BE251F00186F9B;
     3859                glyphRangeLength = 1300;
     3860                glyphRangeLocation = 3099;
     3861                isa = PBXDocBookmark;
     3862                name = "NSHelpManager.html: See Also - r...";
     3863        };
     3864        E195A26F03BE251F00186F9B = {
     3865                fRef = E195A30F03BE251F00186F9B;
     3866                isa = PBXTextBookmark;
     3867                name = "NSHelpManager.h: 65";
     3868                rLen = 0;
     3869                rLoc = 1677;
     3870                rType = 0;
     3871                vrLen = 1330;
     3872                vrLoc = 347;
     3873        };
     3874        E195A27603BE251F00186F9B = {
     3875                fRef = E195A31003BE251F00186F9B;
     3876                isa = PBXTextBookmark;
     3877                name = "NSSet.h: 63";
     3878                rLen = 19;
     3879                rLoc = 1498;
     3880                rType = 0;
     3881                vrLen = 1023;
     3882                vrLoc = 1199;
     3883        };
     3884        E195A27A03BE251F00186F9B = {
     3885                fRef = E195A31103BE251F00186F9B;
     3886                isa = PBXTextBookmark;
     3887                name = "NSNumberFormatter.h: 77";
     3888                rLen = 0;
     3889                rLoc = 2579;
     3890                rType = 0;
     3891                vrLen = 1547;
     3892                vrLoc = 1034;
     3893        };
     3894        E195A27B03BE251F00186F9B = {
     3895                fRef = E195A31203BE251F00186F9B;
     3896                isa = PBXTextBookmark;
     3897                name = "NSDecimalNumber.h: 35";
     3898                rLen = 8;
     3899                rLoc = 1139;
     3900                rType = 0;
     3901                vrLen = 1562;
     3902                vrLoc = 0;
     3903        };
     3904        E195A27D03BE251F00186F9B = {
     3905                fRef = E195A31703BE251F00186F9B;
     3906                isa = PBXTextBookmark;
     3907                name = "NSFormatter.h: 18";
     3908                rLen = 27;
     3909                rLoc = 431;
     3910                rType = 0;
     3911                vrLen = 1230;
     3912                vrLoc = 0;
     3913        };
     3914        E195A27E03BE251F00186F9B = {
     3915                fRef = E195A31803BE251F00186F9B;
     3916                glyphRangeLength = 1826;
     3917                glyphRangeLocation = 1689;
     3918                isa = PBXDocBookmark;
     3919                name = "NSFormatter.html: Textual repr...";
     3920        };
     3921        E195A28003BE251F00186F9B = {
     3922                fRef = E1F0B14A03AD8CEF00AEFBE0;
     3923                isa = PBXTextBookmark;
     3924                name = "NJRUnfocusableMovieView.h: 1";
     3925                rLen = 0;
     3926                rLoc = 0;
     3927                rType = 0;
     3928                vrLen = 249;
     3929                vrLoc = 0;
     3930        };
     3931        E195A28F03BE251F00186F9B = {
     3932                fRef = F59E47BD036AB228016B311C;
     3933                isa = PBXTextBookmark;
     3934                name = "PSMovieAlert.h: 12";
     3935                rLen = 0;
     3936                rLoc = 212;
     3937                rType = 0;
     3938                vrLen = 651;
     3939                vrLoc = 0;
     3940        };
     3941        E195A29103BE251F00186F9B = {
     3942                fRef = F59F6CB50354E7DA01AEEDB1;
     3943                isa = PBXTextBookmark;
     3944                name = "PSAlarm.m: timeRemainingString";
     3945                rLen = 0;
     3946                rLoc = 10969;
     3947                rType = 0;
     3948                vrLen = 1851;
     3949                vrLoc = 9894;
     3950        };
     3951        E195A29203BE251F00186F9B = {
     3952                fRef = F59E47B5036AAD55016B311C;
     3953                isa = PBXTextBookmark;
     3954                name = "PSAlarmAlertController.h: 1";
     3955                rLen = 0;
     3956                rLoc = 0;
     3957                rType = 0;
     3958                vrLen = 493;
     3959                vrLoc = 0;
     3960        };
     3961        E195A29503BE251F00186F9B = {
     3962                fRef = F59E47B4036AAD55016B311C;
     3963                isa = PBXTextBookmark;
     3964                name = "PSAlarmAlertController.m: stopAlerts:";
     3965                rLen = 0;
     3966                rLoc = 1675;
     3967                rType = 0;
     3968                vrLen = 945;
     3969                vrLoc = 0;
     3970        };
     3971        E195A29603BE251F00186F9B = {
     3972                fRef = F59DC6DC0353DE5101AEEDB1;
     3973                isa = PBXTextBookmark;
     3974                name = "PSAlarmNotifierController.m: 78";
     3975                rLen = 0;
     3976                rLoc = 2730;
     3977                rType = 0;
     3978                vrLen = 1220;
     3979                vrLoc = 2049;
     3980        };
     3981        E195A29703BE251F00186F9B = {
     3982                fRef = F59E47C1036B1ADD016B311C;
     3983                isa = PBXTextBookmark;
     3984                name = "PSMovieAlertController.h: 1";
     3985                rLen = 0;
     3986                rLoc = 0;
     3987                rType = 0;
     3988                vrLen = 608;
     3989                vrLoc = 0;
     3990        };
     3991        E195A29803BE251F00186F9B = {
     3992                fRef = F59E47C0036B1ADD016B311C;
     3993                isa = PBXTextBookmark;
     3994                name = "PSMovieAlertController.m: __VERSION__";
     3995                rLen = 0;
     3996                rLoc = 0;
     3997                rType = 0;
     3998                vrLen = 1553;
     3999                vrLoc = 0;
     4000        };
     4001        E195A29903BE251F00186F9B = {
     4002                fRef = F5F198D1036BE57401EB0372;
     4003                isa = PBXTextBookmark;
     4004                name = "NJRTableDelegate.h: 1";
     4005                rLen = 0;
     4006                rLoc = 0;
     4007                rType = 0;
     4008                vrLen = 546;
     4009                vrLoc = 0;
     4010        };
     4011        E195A29A03BE251F00186F9B = {
     4012                fRef = F59F6CB50354E7DA01AEEDB1;
     4013                isa = PBXTextBookmark;
     4014                name = "PSAlarm.m: setTimer";
     4015                rLen = 0;
     4016                rLoc = 12678;
     4017                rType = 0;
     4018                vrLen = 1475;
     4019                vrLoc = 10588;
     4020        };
     4021        E195A29D03BE251F00186F9B = {
     4022                fRef = E1A18CAC03B4344C00000028;
     4023                isa = PBXTextBookmark;
     4024                name = "PSAlerts.m: prettyList";
     4025                rLen = 36;
     4026                rLoc = 1546;
     4027                rType = 0;
     4028                vrLen = 1676;
     4029                vrLoc = 1022;
     4030        };
     4031        E195A29E03BE251F00186F9B = {
     4032                fRef = E1A18CAB03B4344C00000028;
     4033                isa = PBXTextBookmark;
     4034                name = "PSAlerts.h: 1";
     4035                rLen = 0;
     4036                rLoc = 0;
     4037                rType = 0;
     4038                vrLen = 585;
     4039                vrLoc = 0;
     4040        };
     4041        E195A29F03BE251F00186F9B = {
     4042                fRef = F59F6CB50354E7DA01AEEDB1;
     4043                isa = PBXTextBookmark;
     4044                name = "PSAlarm.m: setTimer";
     4045                rLen = 0;
     4046                rLoc = 12678;
     4047                rType = 0;
     4048                vrLen = 1475;
     4049                vrLoc = 10588;
     4050        };
     4051        E195A2A003BE251F00186F9B = {
     4052                fRef = F59F6CB40354E7DA01AEEDB1;
     4053                isa = PBXTextBookmark;
     4054                name = "PSAlarm.h: compareDate:";
     4055                rLen = 43;
     4056                rLoc = 2123;
     4057                rType = 0;
     4058                vrLen = 1407;
     4059                vrLoc = 742;
     4060        };
     4061        E195A2A103BE251F00186F9B = {
     4062                fRef = F59F6CB50354E7DA01AEEDB1;
     4063                isa = PBXTextBookmark;
     4064                name = "PSAlarm.m: setTimer";
     4065                rLen = 0;
     4066                rLoc = 11448;
     4067                rType = 0;
     4068                vrLen = 1542;
     4069                vrLoc = 10588;
     4070        };
     4071        E195A2A203BE251F00186F9B = {
     4072                fRef = F59F6CB40354E7DA01AEEDB1;
     4073                isa = PBXTextBookmark;
     4074                name = "PSAlarm.h: compareDate:";
     4075                rLen = 43;
     4076                rLoc = 2123;
     4077                rType = 0;
     4078                vrLen = 1407;
     4079                vrLoc = 742;
     4080        };
     4081        E195A2A303BE251F00186F9B = {
     4082                fRef = F59F6CB50354E7DA01AEEDB1;
     4083                isa = PBXTextBookmark;
     4084                name = "PSAlarm.m: prettyDescription";
     4085                rLen = 0;
     4086                rLoc = 11440;
     4087                rType = 0;
     4088                vrLen = 1820;
     4089                vrLoc = 10658;
     4090        };
     4091        E195A2A503BE251F00186F9B = {
     4092                fRef = E1A18CAB03B4344C00000028;
     4093                isa = PBXTextBookmark;
     4094                name = "PSAlerts.h: 1";
     4095                rLen = 0;
     4096                rLoc = 0;
     4097                rType = 0;
     4098                vrLen = 585;
     4099                vrLoc = 0;
     4100        };
     4101        E195A2A603BE251F00186F9B = {
     4102                fRef = E1A18CAC03B4344C00000028;
     4103                isa = PBXTextBookmark;
     4104                name = "PSAlerts.m: prettyList";
     4105                rLen = 0;
     4106                rLoc = 1582;
     4107                rType = 0;
     4108                vrLen = 1703;
     4109                vrLoc = 1022;
     4110        };
     4111        E195A2A703BE251F00186F9B = {
     4112                fRef = F59E47A7036AAA6D016B311C;
     4113                isa = PBXTextBookmark;
     4114                name = "PSAlert.m: __VERSION__";
     4115                rLen = 0;
     4116                rLoc = 0;
     4117                rType = 0;
     4118                vrLen = 1191;
     4119                vrLoc = 0;
     4120        };
     4121        E195A2A803BE251F00186F9B = {
     4122                fRef = E1A18CAC03B4344C00000028;
     4123                isa = PBXTextBookmark;
     4124                name = "PSAlerts.m: prettyList";
     4125                rLen = 0;
     4126                rLoc = 1989;
     4127                rType = 0;
     4128                vrLen = 944;
     4129                vrLoc = 0;
     4130        };
     4131        E195A2A903BE251F00186F9B = {
     4132                fRef = E1A18CAB03B4344C00000028;
     4133                isa = PBXTextBookmark;
     4134                name = "PSAlerts.h: 1";
     4135                rLen = 0;
     4136                rLoc = 0;
     4137                rType = 0;
     4138                vrLen = 585;
     4139                vrLoc = 0;
     4140        };
     4141        E195A2AA03BE251F00186F9B = {
     4142                fRef = E1A18CAC03B4344C00000028;
     4143                isa = PBXTextBookmark;
     4144                name = "PSAlerts.m: __OBJC__";
     4145                rLen = 0;
     4146                rLoc = 186;
     4147                rType = 0;
     4148                vrLen = 944;
     4149                vrLoc = 0;
     4150        };
     4151        E195A2AC03BE251F00186F9B = {
     4152                fRef = F59DC6DC0353DE5101AEEDB1;
     4153                isa = PBXTextBookmark;
     4154                name = "PSAlarmNotifierController.m: 78";
     4155                rLen = 0;
     4156                rLoc = 2730;
     4157                rType = 0;
     4158                vrLen = 1220;
     4159                vrLoc = 2049;
     4160        };
     4161        E195A2AD03BE251F00186F9B = {
     4162                fRef = F59E47C0036B1ADD016B311C;
     4163                isa = PBXTextBookmark;
     4164                name = "PSMovieAlertController.m: __VERSION__";
     4165                rLen = 0;
     4166                rLoc = 0;
     4167                rType = 0;
     4168                vrLen = 1553;
     4169                vrLoc = 0;
     4170        };
     4171        E195A2AE03BE251F00186F9B = {
     4172                fRef = F59E47B4036AAD55016B311C;
     4173                isa = PBXTextBookmark;
     4174                name = "PSAlarmAlertController.m: initWithAlarm:";
     4175                rLen = 0;
     4176                rLoc = 1693;
     4177                rType = 0;
     4178                vrLen = 945;
     4179                vrLoc = 0;
     4180        };
     4181        E195A2AF03BE251F00186F9B = {
     4182                fRef = E1A18CAC03B4344C00000028;
     4183                isa = PBXTextBookmark;
     4184                name = "PSAlerts.m: triggerForAlarm:";
     4185                rLen = 0;
     4186                rLoc = 1147;
     4187                rType = 0;
     4188                vrLen = 1141;
     4189                vrLoc = 557;
     4190        };
     4191        E195A2B003BE251F00186F9B = {
     4192                fRef = F59E47B4036AAD55016B311C;
     4193                isa = PBXTextBookmark;
     4194                name = "PSAlarmAlertController.m: initWithAlarm:";
     4195                rLen = 0;
     4196                rLoc = 1942;
     4197                rType = 0;
     4198                vrLen = 945;
     4199                vrLoc = 0;
     4200        };
     4201        E195A2B103BE251F00186F9B = {
     4202                fRef = F59E47B5036AAD55016B311C;
     4203                isa = PBXTextBookmark;
     4204                name = "PSAlarmAlertController.h: 15";
     4205                rLen = 0;
     4206                rLoc = 341;
     4207                rType = 0;
     4208                vrLen = 504;
     4209                vrLoc = 0;
     4210        };
     4211        E195A2B203BE251F00186F9B = {
     4212                fRef = F59F6CB50354E7DA01AEEDB1;
     4213                isa = PBXTextBookmark;
     4214                name = "PSAlarm.m: 19";
     4215                rLen = 0;
     4216                rLoc = 585;
     4217                rType = 0;
     4218                vrLen = 1764;
     4219                vrLoc = 0;
     4220        };
     4221        E195A2B303BE251F00186F9B = {
     4222                fRef = F59F6CB40354E7DA01AEEDB1;
     4223                isa = PBXTextBookmark;
     4224                name = "PSAlarm.h: 18";
     4225                rLen = 0;
     4226                rLoc = 717;
     4227                rType = 0;
     4228                vrLen = 1400;
     4229                vrLoc = 0;
     4230        };
     4231        E195A2B403BE251F00186F9B = {
     4232                fRef = F517D6420356B8CC016D68B9;
     4233                isa = PBXTextBookmark;
     4234                name = "PSAlarms.m: 19";
     4235                rLen = 0;
     4236                rLoc = 655;
     4237                rType = 0;
     4238                vrLen = 1371;
     4239                vrLoc = 0;
     4240        };
     4241        E195A2B503BE251F00186F9B = {
     4242                fRef = F517D6430356B8CC016D68B9;
     4243                isa = PBXTextBookmark;
     4244                name = "PSAlarms.h: 19";
     4245                rLen = 0;
     4246                rLoc = 465;
     4247                rType = 0;
     4248                vrLen = 814;
     4249                vrLoc = 0;
     4250        };
     4251        E195A2B603BE251F00186F9B = {
     4252                fRef = F517D6420356B8CC016D68B9;
     4253                isa = PBXTextBookmark;
     4254                name = "PSAlarms.m: allAlarms";
     4255                rLen = 0;
     4256                rLoc = 4424;
     4257                rType = 0;
     4258                vrLen = 1234;
     4259                vrLoc = 2975;
     4260        };
     4261        E195A2B703BE251F00186F9B = {
     4262                fRef = F59E47B5036AAD55016B311C;
     4263                isa = PBXTextBookmark;
     4264                name = "PSAlarmAlertController.h: 15";
     4265                rLen = 0;
     4266                rLoc = 341;
     4267                rType = 0;
     4268                vrLen = 518;
     4269                vrLoc = 0;
     4270        };
     4271        E195A2B803BE251F00186F9B = {
     4272                fRef = F59E47B4036AAD55016B311C;
     4273                isa = PBXTextBookmark;
     4274                name = "PSAlarmAlertController.m: initWithAlarm:";
     4275                rLen = 0;
     4276                rLoc = 2953;
     4277                rType = 0;
     4278                vrLen = 954;
     4279                vrLoc = 0;
     4280        };
     4281        E195A2B903BE251F00186F9B = {
     4282                fRef = F59E47B5036AAD55016B311C;
     4283                isa = PBXTextBookmark;
     4284                name = "PSAlarmAlertController.h: 15";
     4285                rLen = 0;
     4286                rLoc = 341;
     4287                rType = 0;
     4288                vrLen = 518;
     4289                vrLoc = 0;
     4290        };
     4291        E195A2BA03BE251F00186F9B = {
     4292                fRef = F59E47B4036AAD55016B311C;
     4293                isa = PBXTextBookmark;
     4294                name = "PSAlarmAlertController.m: initWithAlarm:";
     4295                rLen = 0;
     4296                rLoc = 2346;
     4297                rType = 0;
     4298                vrLen = 1005;
     4299                vrLoc = 0;
     4300        };
     4301        E195A2BB03BE251F00186F9B = {
     4302                fRef = F59E47B5036AAD55016B311C;
     4303                isa = PBXTextBookmark;
     4304                name = "PSAlarmAlertController.h: 15";
     4305                rLen = 0;
     4306                rLoc = 322;
     4307                rType = 0;
     4308                vrLen = 525;
     4309                vrLoc = 0;
     4310        };
     4311        E195A2BC03BE251F00186F9B = {
     4312                fRef = F59E47B4036AAD55016B311C;
     4313                isa = PBXTextBookmark;
     4314                name = "PSAlarmAlertController.m: initWithAlarm:";
     4315                rLen = 0;
     4316                rLoc = 2027;
     4317                rType = 0;
     4318                vrLen = 1025;
     4319                vrLoc = 0;
     4320        };
     4321        E195A2BD03BE251F00186F9B = {
     4322                fRef = F59E47B5036AAD55016B311C;
     4323                isa = PBXTextBookmark;
     4324                name = "PSAlarmAlertController.h: 15";
     4325                rLen = 0;
     4326                rLoc = 322;
     4327                rType = 0;
     4328                vrLen = 525;
     4329                vrLoc = 0;
     4330        };
     4331        E195A2BE03BE251F00186F9B = {
     4332                fRef = F59E47B4036AAD55016B311C;
     4333                isa = PBXTextBookmark;
     4334                name = "PSAlarmAlertController.m: dealloc";
     4335                rLen = 0;
     4336                rLoc = 3027;
     4337                rType = 0;
     4338                vrLen = 1202;
     4339                vrLoc = 0;
     4340        };
     4341        E195A2C103BE251F00186F9B = {
     4342                fRef = F59DC6DC0353DE5101AEEDB1;
     4343                isa = PBXTextBookmark;
     4344                name = "PSAlarmNotifierController.m: initWithAlarm:";
     4345                rLen = 0;
     4346                rLoc = 1752;
     4347                rType = 0;
     4348                vrLen = 1633;
     4349                vrLoc = 201;
     4350        };
     4351        E195A2C203BE251F00186F9B = {
     4352                fRef = F59DC6DB0353DE5101AEEDB1;
     4353                isa = PBXTextBookmark;
     4354                name = "PSAlarmNotifierController.h: 12";
     4355                rLen = 0;
     4356                rLoc = 215;
     4357                rType = 0;
     4358                vrLen = 746;
     4359                vrLoc = 0;
     4360        };
     4361        E195A2C303BE251F00186F9B = {
     4362                fRef = F59DC6DC0353DE5101AEEDB1;
     4363                isa = PBXTextBookmark;
     4364                name = "PSAlarmNotifierController.m: initWithAlarm:";
     4365                rLen = 0;
     4366                rLoc = 1752;
     4367                rType = 0;
     4368                vrLen = 1196;
     4369                vrLoc = 2247;
     4370        };
     4371        E195A2C403BE251F00186F9B = {
     4372                fRef = F59E47B4036AAD55016B311C;
     4373                isa = PBXTextBookmark;
     4374                name = "PSAlarmAlertController.m: initWithAlarm:";
     4375                rLen = 0;
     4376                rLoc = 2979;
     4377                rType = 0;
     4378                vrLen = 1202;
     4379                vrLoc = 0;
     4380        };
     4381        E195A2C503BE251F00186F9B = {
     4382                fRef = E195A31B03BE251F00186F9B;
     4383                isa = PBXTextBookmark;
     4384                name = "NSFormatter.h: 14";
     4385                rLen = 20;
     4386                rLoc = 277;
     4387                rType = 0;
     4388                vrLen = 1230;
     4389                vrLoc = 0;
     4390        };
     4391        E195A2C603BE251F00186F9B = {
     4392                fRef = E195A31C03BE251F00186F9B;
     4393                isa = PBXTextBookmark;
     4394                name = "NSDecimalNumber.h: 35";
     4395                rLen = 8;
     4396                rLoc = 1139;
     4397                rType = 0;
     4398                vrLen = 1562;
     4399                vrLoc = 0;
     4400        };
     4401        E195A2C703BE251F00186F9B = {
     4402                fRef = E195A31D03BE251F00186F9B;
     4403                isa = PBXTextBookmark;
     4404                name = "NSValue.h: 59";
     4405                rLen = 0;
     4406                rLoc = 1356;
     4407                rType = 0;
     4408                vrLen = 1649;
     4409                vrLoc = 937;
     4410        };
     4411        E195A2C803BE251F00186F9B = {
     4412                fRef = E195A31E03BE251F00186F9B;
     4413                isa = PBXTextBookmark;
     4414                name = "NSFormatter.h: 18";
     4415                rLen = 27;
     4416                rLoc = 431;
     4417                rType = 0;
     4418                vrLen = 1230;
     4419                vrLoc = 0;
     4420        };
     4421        E195A2C903BE251F00186F9B = {
     4422                fRef = E195A31F03BE251F00186F9B;
     4423                glyphRangeLength = 1826;
     4424                glyphRangeLocation = 1689;
     4425                isa = PBXDocBookmark;
     4426                name = "NSFormatter.html: Textual repr...";
     4427        };
     4428        E195A2CA03BE251F00186F9B = {
     4429                fRef = F589C9C6035AA12B0155F4B2;
     4430                isa = PBXTextBookmark;
     4431                name = "Read Me.rtfd: 107";
     4432                rLen = 1;
     4433                rLoc = 8766;
     4434                rType = 0;
     4435                vrLen = 2613;
     4436                vrLoc = 7027;
     4437        };
     4438        E195A2CB03BE251F00186F9B = {
     4439                fRef = E1F0B14A03AD8CEF00AEFBE0;
     4440                isa = PBXTextBookmark;
     4441                name = "NJRUnfocusableMovieView.h: 1";
     4442                rLen = 0;
     4443                rLoc = 0;
     4444                rType = 0;
     4445                vrLen = 249;
     4446                vrLoc = 0;
     4447        };
     4448        E195A2CD03BE251F00186F9B = {
     4449                fRef = F59E47B4036AAD55016B311C;
     4450                isa = PBXTextBookmark;
     4451                name = "PSAlarmAlertController.m: stopAlerts:";
     4452                rLen = 0;
     4453                rLoc = 686;
     4454                rType = 0;
     4455                vrLen = 1202;
     4456                vrLoc = 0;
     4457        };
     4458        E195A2CF03BE251F00186F9B = {
     4459                fRef = F59E47A7036AAA6D016B311C;
     4460                isa = PBXTextBookmark;
     4461                name = "PSAlert.m: __VERSION__";
     4462                rLen = 0;
     4463                rLoc = 0;
     4464                rType = 0;
     4465                vrLen = 1219;
     4466                vrLoc = 0;
     4467        };
     4468        E195A2D103BE251F00186F9B = {
     4469                fRef = E1A18CAC03B4344C00000028;
     4470                isa = PBXTextBookmark;
     4471                name = "PSAlerts.m: triggerForAlarm:";
     4472                rLen = 0;
     4473                rLoc = 1147;
     4474                rType = 0;
     4475                vrLen = 1141;
     4476                vrLoc = 557;
     4477        };
     4478        E195A2D303BE251F00186F9B = {
     4479                fRef = F59E47A7036AAA6D016B311C;
     4480                isa = PBXTextBookmark;
     4481                name = "PSAlert.m: actionDescription";
     4482                rLen = 0;
     4483                rLoc = 929;
     4484                rType = 0;
     4485                vrLen = 994;
     4486                vrLoc = 0;
     4487        };
     4488        E195A2D503BE251F00186F9B = {
     4489                fRef = F59E47A7036AAA6D016B311C;
     4490                isa = PBXTextBookmark;
     4491                name = "PSAlert.m: actionDescription";
     4492                rLen = 0;
     4493                rLoc = 929;
     4494                rType = 0;
     4495                vrLen = 1004;
     4496                vrLoc = 0;
     4497        };
     4498        E195A2D703BE251F00186F9B = {
     4499                fRef = F59E47A7036AAA6D016B311C;
     4500                isa = PBXTextBookmark;
     4501                name = "PSAlert.m: actionDescription";
     4502                rLen = 0;
     4503                rLoc = 929;
     4504                rType = 0;
     4505                vrLen = 1029;
     4506                vrLoc = 0;
     4507        };
     4508        E195A2D903BE251F00186F9B = {
     4509                fRef = F59E47A7036AAA6D016B311C;
     4510                isa = PBXTextBookmark;
     4511                name = "PSAlert.m: actionDescription";
     4512                rLen = 0;
     4513                rLoc = 929;
     4514                rType = 0;
     4515                vrLen = 1140;
     4516                vrLoc = 0;
     4517        };
     4518        E195A2DB03BE251F00186F9B = {
     4519                fRef = F59E47A7036AAA6D016B311C;
     4520                isa = PBXTextBookmark;
     4521                name = "PSAlert.m: 12";
     4522                rLen = 91;
     4523                rLoc = 279;
     4524                rType = 0;
     4525                vrLen = 1140;
     4526                vrLoc = 0;
     4527        };
     4528        E195A2DD03BE251F00186F9B = {
     4529                fRef = F59E47A7036AAA6D016B311C;
     4530                isa = PBXTextBookmark;
     4531                name = "PSAlert.m: 12";
     4532                rLen = 91;
     4533                rLoc = 279;
     4534                rType = 0;
     4535                vrLen = 1140;
     4536                vrLoc = 0;
     4537        };
     4538        E195A2DF03BE251F00186F9B = {
     4539                fRef = F59E47A7036AAA6D016B311C;
     4540                isa = PBXTextBookmark;
     4541                name = "PSAlert.m: actionDescription";
     4542                rLen = 44;
     4543                rLoc = 701;
     4544                rType = 0;
     4545                vrLen = 1167;
     4546                vrLoc = 0;
     4547        };
     4548        E195A2E003BE251F00186F9B = {
     4549                fRef = F59E47B4036AAD55016B311C;
     4550                isa = PBXTextBookmark;
     4551                name = "PSAlarmAlertController.m: stopAlerts:";
     4552                rLen = 0;
     4553                rLoc = 684;
     4554                rType = 0;
     4555                vrLen = 1159;
     4556                vrLoc = 0;
     4557        };
     4558        E195A2E103BE251F00186F9B = {
     4559                fRef = F59E47B5036AAD55016B311C;
     4560                isa = PBXTextBookmark;
     4561                name = "PSAlarmAlertController.h: PSAlarmAlertStopNotification";
     4562                rLen = 54;
     4563                rLoc = 207;
     4564                rType = 0;
     4565                vrLen = 525;
     4566                vrLoc = 0;
     4567        };
     4568        E195A2E203BE251F00186F9B = {
     4569                fRef = F59E47B4036AAD55016B311C;
     4570                isa = PBXTextBookmark;
     4571                name = "PSAlarmAlertController.m: stopAlerts:";
     4572                rLen = 0;
     4573                rLoc = 1675;
     4574                rType = 0;
     4575                vrLen = 1238;
     4576                vrLoc = 0;
     4577        };
     4578        E195A2E303BE251F00186F9B = {
     4579                fRef = F59E47A7036AAA6D016B311C;
     4580                isa = PBXTextBookmark;
     4581                name = "PSAlert.m: 12";
     4582                rLen = 33;
     4583                rLoc = 296;
     4584                rType = 0;
     4585                vrLen = 1167;
     4586                vrLoc = 0;
     4587        };
     4588        E195A2E403BE251F00186F9B = {
     4589                fRef = F59E47B8036AB217016B311C;
     4590                isa = PBXTextBookmark;
     4591                name = "PSDockBounceAlert.m: triggerForAlarm:";
     4592                rLen = 0;
     4593                rLoc = 845;
     4594                rType = 0;
     4595                vrLen = 1051;
     4596                vrLoc = 0;
     4597        };
     4598        E195A2E503BE251F00186F9B = {
     4599                fRef = F59E47A7036AAA6D016B311C;
     4600                isa = PBXTextBookmark;
     4601                name = "PSAlert.m: 12";
     4602                rLen = 33;
     4603                rLoc = 296;
     4604                rType = 0;
     4605                vrLen = 1167;
     4606                vrLoc = 0;
     4607        };
     4608        E195A2E603BE251F00186F9B = {
     4609                fRef = F59E47B8036AB217016B311C;
     4610                isa = PBXTextBookmark;
     4611                name = "PSDockBounceAlert.m: triggerForAlarm:";
     4612                rLen = 37;
     4613                rLoc = 809;
     4614                rType = 0;
     4615                vrLen = 1083;
     4616                vrLoc = 0;
     4617        };
     4618        E195A2E803BE251F00186F9B = {
     4619                fRef = F59E47B0036AACD1016B311C;
     4620                isa = PBXTextBookmark;
     4621                name = "PSNotifierAlert.m: __VERSION__";
     4622                rLen = 0;
     4623                rLoc = 0;
     4624                rType = 0;
     4625                vrLen = 805;
     4626                vrLoc = 0;
     4627        };
     4628        E195A2E903BE251F00186F9B = {
     4629                fRef = F59E47AC036AAC1E016B311C;
     4630                isa = PBXTextBookmark;
     4631                name = "PSBeepAlert.h: 1";
     4632                rLen = 0;
     4633                rLoc = 0;
     4634                rType = 0;
     4635                vrLen = 434;
     4636                vrLoc = 0;
     4637        };
     4638        E195A2EA03BE251F00186F9B = {
     4639                fRef = F59E47AB036AAC1E016B311C;
     4640                isa = PBXTextBookmark;
     4641                name = "PSBeepAlert.m: triggerForAlarm:";
     4642                rLen = 0;
     4643                rLoc = 1531;
     4644                rType = 0;
     4645                vrLen = 1443;
     4646                vrLoc = 836;
     4647        };
     4648        E195A2EB03BE251F00186F9B = {
     4649                fRef = F59E47AC036AAC1E016B311C;
     4650                isa = PBXTextBookmark;
     4651                name = "PSBeepAlert.h: 12";
     4652                rLen = 0;
     4653                rLoc = 224;
     4654                rType = 0;
     4655                vrLen = 434;
     4656                vrLoc = 0;
     4657        };
     4658        E195A2EC03BE251F00186F9B = {
     4659                fRef = F59E47AB036AAC1E016B311C;
     4660                isa = PBXTextBookmark;
     4661                name = "PSBeepAlert.m: dealloc";
     4662                rLen = 107;
     4663                rLoc = 668;
     4664                rType = 0;
     4665                vrLen = 1194;
     4666                vrLoc = 648;
     4667        };
     4668        E195A2ED03BE251F00186F9B = {
     4669                fRef = F59E47B4036AAD55016B311C;
     4670                isa = PBXTextBookmark;
     4671                name = "PSAlarmAlertController.m: _alertCompleted:";
     4672                rLen = 0;
     4673                rLoc = 1605;
     4674                rType = 0;
     4675                vrLen = 1435;
     4676                vrLoc = 538;
     4677        };
     4678        E195A2EE03BE251F00186F9B = {
     4679                fRef = F59E47B8036AB217016B311C;
     4680                isa = PBXTextBookmark;
     4681                name = "PSDockBounceAlert.m: triggerForAlarm:";
     4682                rLen = 37;
     4683                rLoc = 809;
     4684                rType = 0;
     4685                vrLen = 1083;
     4686                vrLoc = 0;
     4687        };
     4688        E195A2F003BE251F00186F9B = {
     4689                fRef = F59E47B0036AACD1016B311C;
     4690                isa = PBXTextBookmark;
     4691                name = "PSNotifierAlert.m: __VERSION__";
     4692                rLen = 0;
     4693                rLoc = 0;
     4694                rType = 0;
     4695                vrLen = 805;
     4696                vrLoc = 0;
     4697        };
     4698        E195A2F103BE251F00186F9B = {
     4699                fRef = F59E47AB036AAC1E016B311C;
     4700                isa = PBXTextBookmark;
     4701                name = "PSBeepAlert.m: dealloc";
     4702                rLen = 107;
     4703                rLoc = 668;
     4704                rType = 0;
     4705                vrLen = 1194;
     4706                vrLoc = 648;
     4707        };
     4708        E195A2F303BE251F00186F9B = {
     4709                fRef = F5F1986C036B813101EB0372;
     4710                isa = PBXTextBookmark;
     4711                name = "PSSpeechAlert.m: didFinishSpeaking:";
     4712                rLen = 0;
     4713                rLoc = 2205;
     4714                rType = 0;
     4715                vrLen = 1254;
     4716                vrLoc = 1027;
     4717        };
     4718        E195A2F403BE251F00186F9B = {
     4719                fRef = F5F1986D036B813101EB0372;
     4720                isa = PBXTextBookmark;
     4721                name = "PSSpeechAlert.h: 10";
     4722                rLen = 0;
     4723                rLoc = 174;
     4724                rType = 0;
     4725                vrLen = 422;
     4726                vrLoc = 0;
     4727        };
     4728        E195A2F503BE251F00186F9B = {
     4729                fRef = F5F1986C036B813101EB0372;
     4730                isa = PBXTextBookmark;
     4731                name = "PSSpeechAlert.m: 13";
     4732                rLen = 0;
     4733                rLoc = 273;
     4734                rType = 0;
     4735                vrLen = 1051;
     4736                vrLoc = 0;
     4737        };
     4738        E195A2F603BE251F00186F9B = {
     4739                fRef = F5F1986D036B813101EB0372;
     4740                isa = PBXTextBookmark;
     4741                name = "PSSpeechAlert.h: 10";
     4742                rLen = 0;
     4743                rLoc = 174;
     4744                rType = 0;
     4745                vrLen = 422;
     4746                vrLoc = 0;
     4747        };
     4748        E195A2F703BE251F00186F9B = {
     4749                fRef = F5F1986C036B813101EB0372;
     4750                isa = PBXTextBookmark;
     4751                name = "PSSpeechAlert.m: triggerForAlarm:";
     4752                rLen = 0;
     4753                rLoc = 1033;
     4754                rType = 0;
     4755                vrLen = 1252;
     4756                vrLoc = 1049;
     4757        };
     4758        E195A2F803BE251F00186F9B = {
     4759                fRef = F5F1986D036B813101EB0372;
     4760                isa = PBXTextBookmark;
     4761                name = "PSSpeechAlert.h: 10";
     4762                rLen = 0;
     4763                rLoc = 174;
     4764                rType = 0;
     4765                vrLen = 422;
     4766                vrLoc = 0;
     4767        };
     4768        E195A2F903BE251F00186F9B = {
     4769                fRef = F5F1986C036B813101EB0372;
     4770                isa = PBXTextBookmark;
     4771                name = "PSSpeechAlert.m: initWithPropertyList:";
     4772                rLen = 0;
     4773                rLoc = 2016;
     4774                rType = 0;
     4775                vrLen = 1249;
     4776                vrLoc = 1052;
     4777        };
     4778        E195A2FA03BE251F00186F9B = {
     4779                fRef = F5F1986D036B813101EB0372;
     4780                isa = PBXTextBookmark;
     4781                name = "PSSpeechAlert.h: 10";
     4782                rLen = 0;
     4783                rLoc = 174;
     4784                rType = 0;
     4785                vrLen = 422;
     4786                vrLoc = 0;
     4787        };
     4788        E195A2FC03BE251F00186F9B = {
     4789                fRef = F59E47BD036AB228016B311C;
     4790                isa = PBXTextBookmark;
     4791                name = "PSMovieAlert.h: 12";
     4792                rLen = 0;
     4793                rLoc = 212;
     4794                rType = 0;
     4795                vrLen = 651;
     4796                vrLoc = 0;
     4797        };
     4798        E195A2FE03BE251F00186F9B = {
     4799                fRef = F59E47BD036AB228016B311C;
     4800                isa = PBXTextBookmark;
     4801                name = "PSMovieAlert.h: 12";
     4802                rLen = 0;
     4803                rLoc = 212;
     4804                rType = 0;
     4805                vrLen = 651;
     4806                vrLoc = 0;
     4807        };
     4808        E195A30F03BE251F00186F9B = {
     4809                isa = PBXFileReference;
     4810                name = NSHelpManager.h;
     4811                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSHelpManager.h;
     4812                refType = 0;
     4813        };
     4814        E195A31003BE251F00186F9B = {
     4815                isa = PBXFileReference;
     4816                name = NSSet.h;
     4817                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSSet.h;
     4818                refType = 0;
     4819        };
     4820        E195A31103BE251F00186F9B = {
     4821                isa = PBXFileReference;
     4822                name = NSNumberFormatter.h;
     4823                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSNumberFormatter.h;
     4824                refType = 0;
     4825        };
     4826        E195A31203BE251F00186F9B = {
     4827                isa = PBXFileReference;
     4828                name = NSDecimalNumber.h;
     4829                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSDecimalNumber.h;
     4830                refType = 0;
     4831        };
     4832        E195A31403BE251F00186F9B = {
     4833                isa = PBXFileReference;
     4834                name = stdlib.h;
     4835                path = /usr/include/stdlib.h;
     4836                refType = 0;
     4837        };
     4838        E195A31603BE251F00186F9B = {
     4839                isa = PBXFileReference;
     4840                name = NSHelpManager.html;
     4841                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSHelpManager.html;
     4842                refType = 0;
     4843        };
     4844        E195A31703BE251F00186F9B = {
     4845                isa = PBXFileReference;
     4846                name = NSFormatter.h;
     4847                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSFormatter.h;
     4848                refType = 0;
     4849        };
     4850        E195A31803BE251F00186F9B = {
     4851                isa = PBXFileReference;
     4852                name = NSFormatter.html;
     4853                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSFormatter.html;
     4854                refType = 0;
     4855        };
     4856        E195A31B03BE251F00186F9B = {
     4857                isa = PBXFileReference;
     4858                name = NSFormatter.h;
     4859                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSFormatter.h;
     4860                refType = 0;
     4861        };
     4862        E195A31C03BE251F00186F9B = {
     4863                isa = PBXFileReference;
     4864                name = NSDecimalNumber.h;
     4865                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSDecimalNumber.h;
     4866                refType = 0;
     4867        };
     4868        E195A31D03BE251F00186F9B = {
     4869                isa = PBXFileReference;
     4870                name = NSValue.h;
     4871                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSValue.h;
     4872                refType = 0;
     4873        };
     4874        E195A31E03BE251F00186F9B = {
     4875                isa = PBXFileReference;
     4876                name = NSFormatter.h;
     4877                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSFormatter.h;
     4878                refType = 0;
     4879        };
     4880        E195A31F03BE251F00186F9B = {
     4881                isa = PBXFileReference;
     4882                name = NSFormatter.html;
     4883                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSFormatter.html;
     4884                refType = 0;
     4885        };
     4886        E195A32003BE251F00186F9B = {
     4887                isa = PBXFileReference;
     4888                name = fp.h;
     4889                path = /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/fp.h;
     4890                refType = 0;
     4891        };
     4892        E195A32103BE251F00186F9B = {
     4893                isa = PBXFileReference;
     4894                name = float.h;
     4895                path = /usr/include/gcc/darwin/3.1/float.h;
     4896                refType = 0;
     4897        };
     4898        E19DCB6C03BE4A0A00B934BF = {
     4899                fRef = F59E47B8036AB217016B311C;
     4900                isa = PBXTextBookmark;
     4901                name = "PSDockBounceAlert.m: 44";
     4902                rLen = 67;
     4903                rLoc = 1043;
     4904                rType = 0;
     4905                vrLen = 1126;
     4906                vrLoc = 0;
     4907        };
     4908        E19DCB7803BE4A0A00B934BF = {
     4909                fRef = E19DCBC203BE4A0A00B934BF;
     4910                isa = PBXTextBookmark;
     4911                name = "NSNotification.h: 34";
     4912                rLen = 13;
     4913                rLoc = 765;
     4914                rType = 0;
     4915                vrLen = 1240;
     4916                vrLoc = 0;
     4917        };
     4918        E19DCB8203BE4A0A00B934BF = {
     4919                fRef = E19DCBC303BE4A0A00B934BF;
     4920                isa = PBXTextBookmark;
     4921                name = "Movies.h: 1269";
     4922                rLen = 10;
     4923                rLoc = 55658;
     4924                rType = 0;
     4925                vrLen = 1395;
     4926                vrLoc = 55000;
     4927        };
     4928        E19DCB8303BE4A0A00B934BF = {
     4929                fRef = E19DCBC403BE4A0A00B934BF;
     4930                isa = PBXTextBookmark;
     4931                name = "NSSound.h: 1";
     4932                rLen = 0;
     4933                rLoc = 0;
     4934                rType = 0;
     4935                vrLen = 1487;
     4936                vrLoc = 0;
     4937        };
     4938        E19DCB8503BE4A0A00B934BF = {
     4939                fRef = F5F1986C036B813101EB0372;
     4940                isa = PBXTextBookmark;
     4941                name = "PSSpeechAlert.m: 71";
     4942                rLen = 0;
     4943                rLoc = 1687;
     4944                rType = 0;
     4945                vrLen = 1249;
     4946                vrLoc = 1052;
     4947        };
     4948        E19DCB8603BE4A0A00B934BF = {
     4949                fRef = E1A18CAC03B4344C00000028;
     4950                isa = PBXTextBookmark;
     4951                name = "PSAlerts.m: 119";
     4952                rLen = 0;
     4953                rLoc = 3497;
     4954                rType = 0;
     4955                vrLen = 1785;
     4956                vrLoc = 1426;
     4957        };
     4958        E19DCB8703BE4A0A00B934BF = {
     4959                fRef = F59E47A7036AAA6D016B311C;
     4960                isa = PBXTextBookmark;
     4961                name = "PSAlert.m: 45";
     4962                rLen = 0;
     4963                rLoc = 1178;
     4964                rType = 0;
     4965                vrLen = 1167;
     4966                vrLoc = 0;
     4967        };
     4968        E19DCB8903BE4A0A00B934BF = {
     4969                fRef = F59E47B0036AACD1016B311C;
     4970                isa = PBXTextBookmark;
     4971                name = "PSNotifierAlert.m: 37";
     4972                rLen = 65;
     4973                rLoc = 827;
     4974                rType = 0;
     4975                vrLen = 846;
     4976                vrLoc = 0;
     4977        };
     4978        E19DCB8A03BE4A0A00B934BF = {
     4979                fRef = F59E47B8036AB217016B311C;
     4980                isa = PBXTextBookmark;
     4981                name = "PSDockBounceAlert.m: 44";
     4982                rLen = 67;
     4983                rLoc = 1043;
     4984                rType = 0;
     4985                vrLen = 1126;
     4986                vrLoc = 0;
     4987        };
     4988        E19DCB8B03BE4A0A00B934BF = {
     4989                fRef = F59E47B0036AACD1016B311C;
     4990                isa = PBXTextBookmark;
     4991                name = "PSNotifierAlert.m: 37";
     4992                rLen = 65;
     4993                rLoc = 827;
     4994                rType = 0;
     4995                vrLen = 846;
     4996                vrLoc = 0;
     4997        };
     4998        E19DCB8C03BE4A0A00B934BF = {
     4999                fRef = F59E47AB036AAC1E016B311C;
     5000                isa = PBXTextBookmark;
     5001                name = "PSBeepAlert.m: 85";
     5002                rLen = 0;
     5003                rLoc = 2192;
     5004                rType = 0;
     5005                vrLen = 1429;
     5006                vrLoc = 850;
     5007        };
     5008        E19DCB8E03BE4A0A00B934BF = {
     5009                fRef = F5F1986C036B813101EB0372;
     5010                isa = PBXTextBookmark;
     5011                name = "PSSpeechAlert.m: 97";
     5012                rLen = 0;
     5013                rLoc = 2296;
     5014                rType = 0;
     5015                vrLen = 1249;
     5016                vrLoc = 1052;
     5017        };
     5018        E19DCB9003BE4A0A00B934BF = {
     5019                fRef = F59E47B0036AACD1016B311C;
     5020                isa = PBXTextBookmark;
     5021                name = "PSNotifierAlert.m: 14";
     5022                rLen = 15;
     5023                rLoc = 284;
     5024                rType = 0;
     5025                vrLen = 846;
     5026                vrLoc = 0;
     5027        };
     5028        E19DCB9103BE4A0A00B934BF = {
     5029                fRef = F59DC6DC0353DE5101AEEDB1;
     5030                isa = PBXTextBookmark;
     5031                name = "PSAlarmNotifierController.m: 12";
     5032                rLen = 0;
     5033                rLoc = 283;
     5034                rType = 0;
     5035                vrLen = 1785;
     5036                vrLoc = 0;
     5037        };
     5038        E19DCB9303BE4A0A00B934BF = {
     5039                fRef = F59E47C0036B1ADD016B311C;
     5040                isa = PBXTextBookmark;
     5041                name = "PSMovieAlertController.m: windowWillClose:";
     5042                rLen = 0;
     5043                rLoc = 4368;
     5044                rType = 0;
     5045                vrLen = 1986;
     5046                vrLoc = 2295;
     5047        };
     5048        E19DCB9403BE4A0A00B934BF = {
     5049                fRef = F59E47C1036B1ADD016B311C;
     5050                isa = PBXTextBookmark;
     5051                name = "PSMovieAlertController.h: 1";
     5052                rLen = 0;
     5053                rLoc = 0;
     5054                rType = 0;
     5055                vrLen = 608;
     5056                vrLoc = 0;
     5057        };
     5058        E19DCB9503BE4A0A00B934BF = {
     5059                fRef = F59E47C0036B1ADD016B311C;
     5060                isa = PBXTextBookmark;
     5061                name = "PSMovieAlertController.m: windowWillClose:";
     5062                rLen = 0;
     5063                rLoc = 4181;
     5064                rType = 0;
     5065                vrLen = 1994;
     5066                vrLoc = 2295;
     5067        };
     5068        E19DCB9603BE4A0A00B934BF = {
     5069                fRef = F59E47C1036B1ADD016B311C;
     5070                isa = PBXTextBookmark;
     5071                name = "PSMovieAlertController.h: 25";
     5072                rLen = 0;
     5073                rLoc = 649;
     5074                rType = 0;
     5075                vrLen = 661;
     5076                vrLoc = 0;
     5077        };
     5078        E19DCB9703BE4A0A00B934BF = {
     5079                fRef = F59E47C0036B1ADD016B311C;
     5080                isa = PBXTextBookmark;
     5081                name = "PSMovieAlertController.m: dealloc";
     5082                rLen = 0;
     5083                rLoc = 3878;
     5084                rType = 0;
     5085                vrLen = 2014;
     5086                vrLoc = 2373;
     5087        };
     5088        E19DCB9803BE4A0A00B934BF = {
     5089                fRef = F59E47B4036AAD55016B311C;
     5090                isa = PBXTextBookmark;
     5091                name = "PSAlarmAlertController.m: initWithAlarm:";
     5092                rLen = 0;
     5093                rLoc = 2958;
     5094                rType = 0;
     5095                vrLen = 1561;
     5096                vrLoc = 460;
     5097        };
     5098        E19DCB9903BE4A0A00B934BF = {
     5099                fRef = F59E47AB036AAC1E016B311C;
     5100                isa = PBXTextBookmark;
     5101                name = "PSBeepAlert.m: triggerForAlarm:";
     5102                rLen = 0;
     5103                rLoc = 1531;
     5104                rType = 0;
     5105                vrLen = 1443;
     5106                vrLoc = 836;
     5107        };
     5108        E19DCB9A03BE4A0A00B934BF = {
     5109                fRef = F59E47AC036AAC1E016B311C;
     5110                isa = PBXTextBookmark;
     5111                name = "PSBeepAlert.h: 11";
     5112                rLen = 0;
     5113                rLoc = 170;
     5114                rType = 0;
     5115                vrLen = 453;
     5116                vrLoc = 0;
     5117        };
     5118        E19DCB9B03BE4A0A00B934BF = {
     5119                fRef = F59E47AB036AAC1E016B311C;
     5120                isa = PBXTextBookmark;
     5121                name = "PSBeepAlert.m: __OBJC__";
     5122                rLen = 0;
     5123                rLoc = 175;
     5124                rType = 0;
     5125                vrLen = 975;
     5126                vrLoc = 0;
     5127        };
     5128        E19DCB9C03BE4A0A00B934BF = {
     5129                fRef = F59E47AC036AAC1E016B311C;
     5130                isa = PBXTextBookmark;
     5131                name = "PSBeepAlert.h: 11";
     5132                rLen = 0;
     5133                rLoc = 170;
     5134                rType = 0;
     5135                vrLen = 453;
     5136                vrLoc = 0;
     5137        };
     5138        E19DCB9D03BE4A0A00B934BF = {
     5139                fRef = F59E47AB036AAC1E016B311C;
     5140                isa = PBXTextBookmark;
     5141                name = "PSBeepAlert.m: dealloc";
     5142                rLen = 0;
     5143                rLoc = 687;
     5144                rType = 0;
     5145                vrLen = 1060;
     5146                vrLoc = 514;
     5147        };
     5148        E19DCB9E03BE4A0A00B934BF = {
     5149                fRef = F59E47B4036AAD55016B311C;
     5150                isa = PBXTextBookmark;
     5151                name = "PSAlarmAlertController.m: initWithAlarm:";
     5152                rLen = 0;
     5153                rLoc = 2336;
     5154                rType = 0;
     5155                vrLen = 1622;
     5156                vrLoc = 460;
     5157        };
     5158        E19DCB9F03BE4A0A00B934BF = {
     5159                fRef = F59E47AB036AAC1E016B311C;
     5160                isa = PBXTextBookmark;
     5161                name = "PSBeepAlert.m: __OBJC__";
     5162                rLen = 0;
     5163                rLoc = 198;
     5164                rType = 0;
     5165                vrLen = 996;
     5166                vrLoc = 0;
     5167        };
     5168        E19DCBA003BE4A0A00B934BF = {
     5169                fRef = E1A18CAC03B4344C00000028;
     5170                isa = PBXTextBookmark;
     5171                name = "PSAlerts.m: 119";
     5172                rLen = 0;
     5173                rLoc = 3497;
     5174                rType = 0;
     5175                vrLen = 1831;
     5176                vrLoc = 1380;
     5177        };
     5178        E19DCBA103BE4A0A00B934BF = {
     5179                fRef = F59DC6DB0353DE5101AEEDB1;
     5180                isa = PBXTextBookmark;
     5181                name = "PSAlarmNotifierController.h: 12";
     5182                rLen = 0;
     5183                rLoc = 215;
     5184                rType = 0;
     5185                vrLen = 746;
     5186                vrLoc = 0;
     5187        };
     5188        E19DCBA203BE4A0A00B934BF = {
     5189                fRef = F59E47B4036AAD55016B311C;
     5190                isa = PBXTextBookmark;
     5191                name = "PSAlarmAlertController.m: _alertCompleted:";
     5192                rLen = 0;
     5193                rLoc = 1552;
     5194                rType = 0;
     5195                vrLen = 1440;
     5196                vrLoc = 0;
     5197        };
     5198        E19DCBA303BE4A0A00B934BF = {
     5199                fRef = F59F6CB50354E7DA01AEEDB1;
     5200                isa = PBXTextBookmark;
     5201                name = "PSAlarm.m: setTimer";
     5202                rLen = 0;
     5203                rLoc = 12003;
     5204                rType = 0;
     5205                vrLen = 1866;
     5206                vrLoc = 10887;
     5207        };
     5208        E19DCBA403BE4A0A00B934BF = {
     5209                fRef = F59F6CB40354E7DA01AEEDB1;
     5210                isa = PBXTextBookmark;
     5211                name = "PSAlarm.h: PSAlarmDiedNotification";
     5212                rLen = 0;
     5213                rLoc = 717;
     5214                rType = 0;
     5215                vrLen = 1400;
     5216                vrLoc = 0;
     5217        };
     5218        E19DCBA503BE4A0A00B934BF = {
     5219                fRef = F59F6CB50354E7DA01AEEDB1;
     5220                isa = PBXTextBookmark;
     5221                name = "PSAlarm.m: setTimer";
     5222                rLen = 0;
     5223                rLoc = 12003;
     5224                rType = 0;
     5225                vrLen = 1866;
     5226                vrLoc = 10887;
     5227        };
     5228        E19DCBA603BE4A0A00B934BF = {
     5229                fRef = F59F6CB40354E7DA01AEEDB1;
     5230                isa = PBXTextBookmark;
     5231                name = "PSAlarm.h: PSAlarmDiedNotification";
     5232                rLen = 0;
     5233                rLoc = 717;
     5234                rType = 0;
     5235                vrLen = 1400;
     5236                vrLoc = 0;
     5237        };
     5238        E19DCBA703BE4A0A00B934BF = {
     5239                fRef = F59F6CB50354E7DA01AEEDB1;
     5240                isa = PBXTextBookmark;
     5241                name = "PSAlarm.m: setTimer";
     5242                rLen = 0;
     5243                rLoc = 11902;
     5244                rType = 0;
     5245                vrLen = 1867;
     5246                vrLoc = 10887;
     5247        };
     5248        E19DCBA803BE4A0A00B934BF = {
     5249                fRef = F517D6420356B8CC016D68B9;
     5250                isa = PBXTextBookmark;
     5251                name = "PSAlarms.m: alarm";
     5252                rLen = 0;
     5253                rLoc = 4424;
     5254                rType = 0;
     5255                vrLen = 1292;
     5256                vrLoc = 2939;
     5257        };
     5258        E19DCBA903BE4A0A00B934BF = {
     5259                fRef = F517D6430356B8CC016D68B9;
     5260                isa = PBXTextBookmark;
     5261                name = "PSAlarms.h: 19";
     5262                rLen = 0;
     5263                rLoc = 465;
     5264                rType = 0;
     5265                vrLen = 814;
     5266                vrLoc = 0;
     5267        };
     5268        E19DCBAA03BE4A0A00B934BF = {
     5269                fRef = F517D6420356B8CC016D68B9;
     5270                isa = PBXTextBookmark;
     5271                name = "PSAlarms.m: init";
     5272                rLen = 0;
     5273                rLoc = 4151;
     5274                rType = 0;
     5275                vrLen = 1554;
     5276                vrLoc = 2504;
     5277        };
     5278        E19DCBAB03BE4A0A00B934BF = {
     5279                fRef = F517D6430356B8CC016D68B9;
     5280                isa = PBXTextBookmark;
     5281                name = "PSAlarms.h: 19";
     5282                rLen = 0;
     5283                rLoc = 455;
     5284                rType = 0;
     5285                vrLen = 814;
     5286                vrLoc = 0;
     5287        };
     5288        E19DCBAC03BE4A0A00B934BF = {
     5289                fRef = F517D6420356B8CC016D68B9;
     5290                isa = PBXTextBookmark;
     5291                name = "PSAlarms.m: init";
     5292                rLen = 0;
     5293                rLoc = 4151;
     5294                rType = 0;
     5295                vrLen = 1554;
     5296                vrLoc = 2504;
     5297        };
     5298        E19DCBAD03BE4A0A00B934BF = {
     5299                fRef = F517D6430356B8CC016D68B9;
     5300                isa = PBXTextBookmark;
     5301                name = "PSAlarms.h: 19";
     5302                rLen = 0;
     5303                rLoc = 455;
     5304                rType = 0;
     5305                vrLen = 814;
     5306                vrLoc = 0;
     5307        };
     5308        E19DCBAE03BE4A0A00B934BF = {
     5309                fRef = F517D6420356B8CC016D68B9;
     5310                isa = PBXTextBookmark;
     5311                name = "PSAlarms.m: dealloc";
     5312                rLen = 0;
     5313                rLoc = 4335;
     5314                rType = 0;
     5315                vrLen = 1581;
     5316                vrLoc = 2504;
     5317        };
     5318        E19DCBAF03BE4A0A00B934BF = {
     5319                fRef = F59F6CB50354E7DA01AEEDB1;
     5320                isa = PBXTextBookmark;
     5321                name = "PSAlarm.m: _timerExpired:";
     5322                rLen = 0;
     5323                rLoc = 5331;
     5324                rType = 0;
     5325                vrLen = 1894;
     5326                vrLoc = 3917;
     5327        };
     5328        E19DCBB003BE4A0A00B934BF = {
     5329                fRef = F59F6CB40354E7DA01AEEDB1;
     5330                isa = PBXTextBookmark;
     5331                name = "PSAlarm.h: PSAlarmDiedNotification";
     5332                rLen = 0;
     5333                rLoc = 717;
     5334                rType = 0;
     5335                vrLen = 1400;
     5336                vrLoc = 0;
     5337        };
     5338        E19DCBB103BE4A0A00B934BF = {
     5339                fRef = F59F6CB50354E7DA01AEEDB1;
     5340                isa = PBXTextBookmark;
     5341                name = "PSAlarm.m: _timerExpired:";
     5342                rLen = 0;
     5343                rLoc = 5331;
     5344                rType = 0;
     5345                vrLen = 1970;
     5346                vrLoc = 3868;
     5347        };
     5348        E19DCBB203BE4A0A00B934BF = {
     5349                fRef = F589C9C6035AA12B0155F4B2;
     5350                isa = PBXTextBookmark;
     5351                name = "Read Me.rtfd: 103";
     5352                rLen = 0;
     5353                rLoc = 8906;
     5354                rType = 0;
     5355                vrLen = 3512;
     5356                vrLoc = 4668;
     5357        };
     5358        E19DCBB603BE4A0A00B934BF = {
     5359                fRef = F59E47B4036AAD55016B311C;
     5360                isa = PBXTextBookmark;
     5361                name = "PSAlarmAlertController.m: _alertCompleted:";
     5362                rLen = 0;
     5363                rLoc = 1552;
     5364                rType = 0;
     5365                vrLen = 1440;
     5366                vrLoc = 0;
     5367        };
     5368        E19DCBB703BE4A0A00B934BF = {
     5369                fRef = F59F6CB50354E7DA01AEEDB1;
     5370                isa = PBXTextBookmark;
     5371                name = "PSAlarm.m: setTimer";
     5372                rLen = 18;
     5373                rLoc = 11703;
     5374                rType = 0;
     5375                vrLen = 1867;
     5376                vrLoc = 10919;
     5377        };
     5378        E19DCBB803BE4A0A00B934BF = {
     5379                fRef = F59F6CB40354E7DA01AEEDB1;
     5380                isa = PBXTextBookmark;
     5381                name = "PSAlarm.h: setTimer";
     5382                rLen = 0;
     5383                rLoc = 2345;
     5384                rType = 0;
     5385                vrLen = 1450;
     5386                vrLoc = 791;
     5387        };
     5388        E19DCBB903BE4A0A00B934BF = {
     5389                fRef = F59F6CB50354E7DA01AEEDB1;
     5390                isa = PBXTextBookmark;
     5391                name = "PSAlarm.m: setTimer";
     5392                rLen = 0;
     5393                rLoc = 11722;
     5394                rType = 0;
     5395                vrLen = 1867;
     5396                vrLoc = 10919;
     5397        };
     5398        E19DCBBA03BE4A0A00B934BF = {
     5399                fRef = F59F6CB40354E7DA01AEEDB1;
     5400                isa = PBXTextBookmark;
     5401                name = "PSAlarm.h: PSAlarmSnooze";
     5402                rLen = 0;
     5403                rLoc = 498;
     5404                rType = 0;
     5405                vrLen = 1400;
     5406                vrLoc = 0;
     5407        };
     5408        E19DCBBB03BE4A0A00B934BF = {
     5409                fRef = F59F6CB50354E7DA01AEEDB1;
     5410                isa = PBXTextBookmark;
     5411                name = "PSAlarm.m: isValid";
     5412                rLen = 17;
     5413                rLoc = 7204;
     5414                rType = 0;
     5415                vrLen = 1154;
     5416                vrLoc = 6661;
     5417        };
     5418        E19DCBBC03BE4A0A00B934BF = {
     5419                fRef = F517D6420356B8CC016D68B9;
     5420                isa = PBXTextBookmark;
     5421                name = "PSAlarms.m: _alarmDied:";
     5422                rLen = 0;
     5423                rLoc = 4424;
     5424                rType = 0;
     5425                vrLen = 1278;
     5426                vrLoc = 3171;
     5427        };
     5428        E19DCBBD03BE4A0A00B934BF = {
     5429                fRef = E19DCBC103BE4A0A00B934BF;
     5430                isa = PBXTextBookmark;
     5431                name = "NSSound.h: 1";
     5432                rLen = 0;
     5433                rLoc = 0;
     5434                rType = 0;
     5435                vrLen = 1487;
     5436                vrLoc = 0;
     5437        };
     5438        E19DCBC103BE4A0A00B934BF = {
     5439                isa = PBXFileReference;
     5440                name = NSSound.h;
     5441                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSSound.h;
     5442                refType = 0;
     5443        };
     5444        E19DCBC203BE4A0A00B934BF = {
     5445                isa = PBXFileReference;
     5446                name = NSNotification.h;
     5447                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSNotification.h;
     5448                refType = 0;
     5449        };
     5450        E19DCBC303BE4A0A00B934BF = {
     5451                isa = PBXFileReference;
     5452                name = Movies.h;
     5453                path = /System/Library/Frameworks/QuickTime.framework/Versions/A/Headers/Movies.h;
     5454                refType = 0;
     5455        };
     5456        E19DCBC403BE4A0A00B934BF = {
     5457                isa = PBXFileReference;
     5458                name = NSSound.h;
     5459                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSSound.h;
     5460                refType = 0;
     5461        };
     5462        E19DCC8703BE900300B934BF = {
     5463                fRef = 29B97316FDCFA39411CA2CEA;
     5464                isa = PBXTextBookmark;
     5465                name = "main.m: __VERSION__";
     5466                rLen = 0;
     5467                rLoc = 0;
     5468                rType = 0;
     5469                vrLen = 252;
     5470                vrLoc = 0;
     5471        };
     5472        E19DCC8803BE900300B934BF = {
     5473                fRef = E19DCBD203BE4AA200B934BF;
     5474                isa = PBXTextBookmark;
     5475                name = "Pester_Prefix.h: __USER_LABEL_PREFIX__";
     5476                rLen = 0;
     5477                rLoc = 78;
     5478                rType = 0;
     5479                vrLen = 143;
     5480                vrLoc = 0;
     5481        };
     5482        E19DCC8903BE900300B934BF = {
     5483                fRef = E19DCCE403BE900300B934BF;
     5484                isa = PBXTextBookmark;
     5485                name = "math.h: 225";
     5486                rLen = 4;
     5487                rLoc = 9556;
     5488                rType = 0;
     5489                vrLen = 1314;
     5490                vrLoc = 8899;
     5491        };
     5492        E19DCC8A03BE900300B934BF = {
     5493                fRef = E19DCCE203BE900300B934BF;
     5494                isa = PBXTextBookmark;
     5495                name = "math.h: 1";
     5496                rLen = 0;
     5497                rLoc = 0;
     5498                rType = 0;
     5499                vrLen = 1095;
     5500                vrLoc = 0;
     5501        };
     5502        E19DCC8B03BE900300B934BF = {
     5503                fRef = E19DCCE303BE900300B934BF;
     5504                isa = PBXTextBookmark;
     5505                name = "NSDate.h: 9";
     5506                rLen = 31;
     5507                rLoc = 122;
     5508                rType = 0;
     5509                vrLen = 1049;
     5510                vrLoc = 0;
     5511        };
     5512        E19DCC8C03BE900300B934BF = {
     5513                fRef = F59F6CB40354E7DA01AEEDB1;
     5514                isa = PBXTextBookmark;
     5515                name = "PSAlarm.h: PSAlarmSnooze";
     5516                rLen = 0;
     5517                rLoc = 498;
     5518                rType = 0;
     5519                vrLen = 1273;
     5520                vrLoc = 0;
     5521        };
     5522        E19DCC8E03BE900300B934BF = {
     5523                fRef = E19DCCE503BE900300B934BF;
     5524                isa = PBXTextBookmark;
     5525                name = "NSValue.h: 88";
     5526                rLen = 46;
     5527                rLoc = 2491;
     5528                rType = 0;
     5529                vrLen = 1443;
     5530                vrLoc = 1143;
     5531        };
     5532        E19DCC8F03BE900300B934BF = {
     5533                fRef = E19DCCE603BE900300B934BF;
     5534                isa = PBXTextBookmark;
     5535                name = "NSUserDefaults.h: 66";
     5536                rLen = 0;
     5537                rLoc = 2244;
     5538                rType = 0;
     5539                vrLen = 1698;
     5540                vrLoc = 610;
     5541        };
     5542        E19DCC9203BE900300B934BF = {
     5543                fRef = E19DCCDF03BE900300B934BF;
     5544                isa = PBXTextBookmark;
     5545                name = "NSTextField.h: 11";
     5546                rLen = 9;
     5547                rLoc = 198;
     5548                rType = 0;
     5549                vrLen = 1244;
     5550                vrLoc = 0;
     5551        };
     5552        E19DCC9603BE900300B934BF = {
     5553                fRef = E19DCCE103BE900300B934BF;
     5554                glyphRangeLength = 1784;
     5555                glyphRangeLocation = 24666;
     5556                isa = PBXDocBookmark;
     5557                name = "NSWindow.html: display  - (...";
     5558        };
     5559        E19DCC9703BE900300B934BF = {
     5560                fRef = F560E2F10357506401A4E466;
     5561                isa = PBXTextBookmark;
     5562                name = "PSApplication.m: ";
     5563                rLen = 0;
     5564                rLoc = 5496;
     5565                rType = 0;
     5566                vrLen = 1840;
     5567                vrLoc = 3628;
     5568        };
     5569        E19DCC9C03BE900300B934BF = {
     5570                fRef = F560E3160357895001A4E466;
     5571                isa = PBXTextBookmark;
     5572                name = "NJRHistoryTrackingComboBox.m: 62";
     5573                rLen = 0;
     5574                rLoc = 1883;
     5575                rType = 0;
     5576                vrLen = 1252;
     5577                vrLoc = 1028;
     5578        };
     5579        E19DCC9E03BE900300B934BF = {
     5580                fRef = F59E47C1036B1ADD016B311C;
     5581                isa = PBXTextBookmark;
     5582                name = "PSMovieAlertController.h: initWithAlarm:movieAlert:";
     5583                rLen = 0;
     5584                rLoc = 649;
     5585                rType = 0;
     5586                vrLen = 661;
     5587                vrLoc = 0;
     5588        };
     5589        E19DCCA203BE900300B934BF = {
     5590                fRef = F59E47C0036B1ADD016B311C;
     5591                isa = PBXTextBookmark;
     5592                name = "PSMovieAlertController.m: controllerWithAlarm:movieAlert:";
     5593                rLen = 0;
     5594                rLoc = 621;
     5595                rType = 0;
     5596                vrLen = 1544;
     5597                vrLoc = 0;
     5598        };
     5599        E19DCCA303BE900300B934BF = {
     5600                isa = PBXTargetBookmark;
     5601                trg = 29B97326FDCFA39411CA2CEA;
     5602        };
     5603        E19DCCA403BE900300B934BF = {
     5604                fRef = 29B97316FDCFA39411CA2CEA;
     5605                isa = PBXTextBookmark;
     5606                name = "main.m: __VERSION__";
     5607                rLen = 0;
     5608                rLoc = 0;
     5609                rType = 0;
     5610                vrLen = 252;
     5611                vrLoc = 0;
     5612        };
     5613        E19DCCA503BE900300B934BF = {
     5614                fRef = E19DCBD203BE4AA200B934BF;
     5615                isa = PBXTextBookmark;
     5616                name = "Pester_Prefix.h: 2";
     5617                rLen = 0;
     5618                rLoc = 78;
     5619                rType = 0;
     5620                vrLen = 143;
     5621                vrLoc = 0;
     5622        };
     5623        E19DCCA603BE900300B934BF = {
     5624                isa = PBXTargetBookmark;
     5625                trg = 29B97326FDCFA39411CA2CEA;
     5626        };
     5627        E19DCCA703BE900300B934BF = {
     5628                fRef = 29B97316FDCFA39411CA2CEA;
     5629                isa = PBXTextBookmark;
     5630                name = "main.m: __VERSION__";
     5631                rLen = 0;
     5632                rLoc = 0;
     5633                rType = 0;
     5634                vrLen = 252;
     5635                vrLoc = 0;
     5636        };
     5637        E19DCCA803BE900300B934BF = {
     5638                fRef = E19DCBD203BE4AA200B934BF;
     5639                isa = PBXTextBookmark;
     5640                name = "Pester_Prefix.h: __USER_LABEL_PREFIX__";
     5641                rLen = 0;
     5642                rLoc = 78;
     5643                rType = 0;
     5644                vrLen = 143;
     5645                vrLoc = 0;
     5646        };
     5647        E19DCCA903BE900300B934BF = {
     5648                fRef = F517D6420356B8CC016D68B9;
     5649                isa = PBXTextBookmark;
     5650                name = "PSAlarms.m: alarm";
     5651                rLen = 0;
     5652                rLoc = 4424;
     5653                rType = 0;
     5654                vrLen = 1228;
     5655                vrLoc = 3171;
     5656        };
     5657        E19DCCAB03BE900300B934BF = {
     5658                fRef = F59F6CB50354E7DA01AEEDB1;
     5659                isa = PBXTextBookmark;
     5660                name = "PSAlarm.m: 475";
     5661                rLen = 0;
     5662                rLoc = 16423;
     5663                rType = 0;
     5664                vrLen = 1810;
     5665                vrLoc = 14347;
     5666        };
     5667        E19DCCAC03BE900300B934BF = {
     5668                fRef = F589C9C6035AA12B0155F4B2;
     5669                isa = PBXTextBookmark;
     5670                name = "Read Me.rtfd: 103";
     5671                rLen = 0;
     5672                rLoc = 8980;
     5673                rType = 0;
     5674                vrLen = 2645;
     5675                vrLoc = 7550;
     5676        };
     5677        E19DCCAE03BE900300B934BF = {
     5678                fRef = F517D6420356B8CC016D68B9;
     5679                isa = PBXTextBookmark;
     5680                name = "PSAlarms.m: 169";
     5681                rLen = 11;
     5682                rLoc = 4768;
     5683                rType = 0;
     5684                vrLen = 1022;
     5685                vrLoc = 4420;
     5686        };
     5687        E19DCCAF03BE900300B934BF = {
     5688                fRef = F59F6CB50354E7DA01AEEDB1;
     5689                isa = PBXTextBookmark;
     5690                name = "PSAlarm.m: cancelTimer";
     5691                rLen = 21;
     5692                rLoc = 12827;
     5693                rType = 0;
     5694                vrLen = 1401;
     5695                vrLoc = 11494;
     5696        };
     5697        E19DCCB003BE900300B934BF = {
     5698                fRef = F59F6CB40354E7DA01AEEDB1;
     5699                isa = PBXTextBookmark;
     5700                name = "PSAlarm.h: PSAlarmSnooze";
     5701                rLen = 0;
     5702                rLoc = 498;
     5703                rType = 0;
     5704                vrLen = 1273;
     5705                vrLoc = 0;
     5706        };
     5707        E19DCCB103BE900300B934BF = {
     5708                fRef = F59F6CB50354E7DA01AEEDB1;
     5709                isa = PBXTextBookmark;
     5710                name = "PSAlarm.m: 395";
     5711                rLen = 0;
     5712                rLoc = 12932;
     5713                rType = 0;
     5714                vrLen = 1430;
     5715                vrLoc = 11999;
     5716        };
     5717        E19DCCB203BE900300B934BF = {
     5718                fRef = F59DC6DC0353DE5101AEEDB1;
     5719                isa = PBXTextBookmark;
     5720                name = "PSAlarmNotifierController.m: 24";
     5721                rLen = 0;
     5722                rLoc = 619;
     5723                rType = 0;
     5724                vrLen = 1465;
     5725                vrLoc = 0;
     5726        };
     5727        E19DCCB303BE900300B934BF = {
     5728                fRef = F59DC6DB0353DE5101AEEDB1;
     5729                isa = PBXTextBookmark;
     5730                name = "PSAlarmNotifierController.h: 30";
     5731                rLen = 46;
     5732                rLoc = 752;
     5733                rType = 0;
     5734                vrLen = 792;
     5735                vrLoc = 0;
     5736        };
     5737        E19DCCB403BE900300B934BF = {
     5738                fRef = F59DC6DC0353DE5101AEEDB1;
     5739                isa = PBXTextBookmark;
     5740                name = "PSAlarmNotifierController.m: ";
     5741                rLen = 0;
     5742                rLoc = 3587;
     5743                rType = 0;
     5744                vrLen = 1145;
     5745                vrLoc = 2540;
     5746        };
     5747        E19DCCB503BE900300B934BF = {
     5748                fRef = F59DC6DB0353DE5101AEEDB1;
     5749                isa = PBXTextBookmark;
     5750                name = "PSAlarmNotifierController.h: 20";
     5751                rLen = 0;
     5752                rLoc = 535;
     5753                rType = 0;
     5754                vrLen = 792;
     5755                vrLoc = 0;
     5756        };
     5757        E19DCCB603BE900300B934BF = {
     5758                fRef = F59DC6DC0353DE5101AEEDB1;
     5759                isa = PBXTextBookmark;
     5760                name = "PSAlarmNotifierController.m: 45";
     5761                rLen = 0;
     5762                rLoc = 1752;
     5763                rType = 0;
     5764                vrLen = 1566;
     5765                vrLoc = 465;
     5766        };
     5767        E19DCCB703BE900300B934BF = {
     5768                fRef = F59E47B5036AAD55016B311C;
     5769                isa = PBXTextBookmark;
     5770                name = "PSAlarmAlertController.h: PSAlarmAlertStopNotification";
     5771                rLen = 54;
     5772                rLoc = 207;
     5773                rType = 0;
     5774                vrLen = 525;
     5775                vrLoc = 0;
     5776        };
     5777        E19DCCB903BE900300B934BF = {
     5778                fRef = F59E47B4036AAD55016B311C;
     5779                isa = PBXTextBookmark;
     5780                name = "PSAlarmAlertController.m: _alertCompleted:";
     5781                rLen = 0;
     5782                rLoc = 1552;
     5783                rType = 0;
     5784                vrLen = 1267;
     5785                vrLoc = 0;
     5786        };
     5787        E19DCCBA03BE900300B934BF = {
     5788                fRef = F59DC6DC0353DE5101AEEDB1;
     5789                isa = PBXTextBookmark;
     5790                name = "PSAlarmNotifierController.m: 39";
     5791                rLen = 0;
     5792                rLoc = 1250;
     5793                rType = 0;
     5794                vrLen = 1641;
     5795                vrLoc = 314;
     5796        };
     5797        E19DCCBB03BE900300B934BF = {
     5798                fRef = F589C9C6035AA12B0155F4B2;
     5799                isa = PBXTextBookmark;
     5800                name = "Read Me.rtfd: 90";
     5801                rLen = 0;
     5802                rLoc = 6597;
     5803                rType = 0;
     5804                vrLen = 2581;
     5805                vrLoc = 4602;
     5806        };
     5807        E19DCCBC03BE900300B934BF = {
     5808                fRef = E19DCCE903BE900300B934BF;
     5809                isa = PBXTextBookmark;
     5810                name = "NSTextField.h: 11";
     5811                rLen = 9;
     5812                rLoc = 198;
     5813                rType = 0;
     5814                vrLen = 1244;
     5815                vrLoc = 0;
     5816        };
     5817        E19DCCBD03BE900300B934BF = {
     5818                fRef = E19DCCE803BE900300B934BF;
     5819                isa = PBXTextBookmark;
     5820                name = "NSControl.h: 115";
     5821                rLen = 111;
     5822                rLoc = 3488;
     5823                rType = 0;
     5824                vrLen = 1658;
     5825                vrLoc = 2392;
     5826        };
     5827        E19DCCBE03BE900300B934BF = {
     5828                fRef = F59DC6DC0353DE5101AEEDB1;
     5829                isa = PBXTextBookmark;
     5830                name = "PSAlarmNotifierController.m: 120";
     5831                rLen = 0;
     5832                rLoc = 4586;
     5833                rType = 0;
     5834                vrLen = 1470;
     5835                vrLoc = 2746;
     5836        };
     5837        E19DCCBF03BE900300B934BF = {
     5838                fRef = F59DC6DB0353DE5101AEEDB1;
     5839                isa = PBXTextBookmark;
     5840                name = "PSAlarmNotifierController.h: 20";
     5841                rLen = 0;
     5842                rLoc = 535;
     5843                rType = 0;
     5844                vrLen = 792;
     5845                vrLoc = 0;
     5846        };
     5847        E19DCCC003BE900300B934BF = {
     5848                fRef = F59DC6DC0353DE5101AEEDB1;
     5849                isa = PBXTextBookmark;
     5850                name = "PSAlarmNotifierController.m: 120";
     5851                rLen = 0;
     5852                rLoc = 4586;
     5853                rType = 0;
     5854                vrLen = 1469;
     5855                vrLoc = 2746;
     5856        };
     5857        E19DCCC103BE900300B934BF = {
     5858                fRef = F59DC6DB0353DE5101AEEDB1;
     5859                isa = PBXTextBookmark;
     5860                name = "PSAlarmNotifierController.h: close:";
     5861                rLen = 0;
     5862                rLoc = 704;
     5863                rType = 0;
     5864                vrLen = 784;
     5865                vrLoc = 0;
     5866        };
     5867        E19DCCC203BE900300B934BF = {
     5868                fRef = F59DC6DC0353DE5101AEEDB1;
     5869                isa = PBXTextBookmark;
     5870                name = "PSAlarmNotifierController.m: 126";
     5871                rLen = 0;
     5872                rLoc = 4870;
     5873                rType = 0;
     5874                vrLen = 1609;
     5875                vrLoc = 2804;
     5876        };
     5877        E19DCCC303BE900300B934BF = {
     5878                fRef = F59F6CB50354E7DA01AEEDB1;
     5879                isa = PBXTextBookmark;
     5880                name = "PSAlarm.m: 376";
     5881                rLen = 0;
     5882                rLoc = 12290;
     5883                rType = 0;
     5884                vrLen = 1806;
     5885                vrLoc = 10936;
     5886        };
     5887        E19DCCC403BE900300B934BF = {
     5888                fRef = F59DC6DB0353DE5101AEEDB1;
     5889                isa = PBXTextBookmark;
     5890                name = "PSAlarmNotifierController.h: close:";
     5891                rLen = 0;
     5892                rLoc = 704;
     5893                rType = 0;
     5894                vrLen = 784;
     5895                vrLoc = 0;
     5896        };
     5897        E19DCCC503BE900300B934BF = {
     5898                fRef = F59DC6DC0353DE5101AEEDB1;
     5899                isa = PBXTextBookmark;
     5900                name = "PSAlarmNotifierController.m: canSnooze";
     5901                rLen = 9;
     5902                rLoc = 2436;
     5903                rType = 0;
     5904                vrLen = 1209;
     5905                vrLoc = 1910;
     5906        };
     5907        E19DCCC603BE900300B934BF = {
     5908                fRef = F59DC6DB0353DE5101AEEDB1;
     5909                isa = PBXTextBookmark;
     5910                name = "PSAlarmNotifierController.h: 24";
     5911                rLen = 0;
     5912                rLoc = 639;
     5913                rType = 0;
     5914                vrLen = 804;
     5915                vrLoc = 0;
     5916        };
     5917        E19DCCC703BE900300B934BF = {
     5918                fRef = F59DC6DC0353DE5101AEEDB1;
     5919                isa = PBXTextBookmark;
     5920                name = "PSAlarmNotifierController.m: 78";
     5921                rLen = 0;
     5922                rLoc = 2484;
     5923                rType = 0;
     5924                vrLen = 1209;
     5925                vrLoc = 1695;
     5926        };
     5927        E19DCCC803BE900300B934BF = {
     5928                fRef = F59DC6DB0353DE5101AEEDB1;
     5929                isa = PBXTextBookmark;
     5930                name = "PSAlarmNotifierController.h: 25";
     5931                rLen = 0;
     5932                rLoc = 639;
     5933                rType = 0;
     5934                vrLen = 804;
     5935                vrLoc = 0;
     5936        };
     5937        E19DCCC903BE900300B934BF = {
     5938                fRef = F59DC6DC0353DE5101AEEDB1;
     5939                isa = PBXTextBookmark;
     5940                name = "PSAlarmNotifierController.m: 78";
     5941                rLen = 0;
     5942                rLoc = 2484;
     5943                rType = 0;
     5944                vrLen = 1207;
     5945                vrLoc = 1695;
     5946        };
     5947        E19DCCCA03BE900300B934BF = {
     5948                fRef = F59DC6DB0353DE5101AEEDB1;
     5949                isa = PBXTextBookmark;
     5950                name = "PSAlarmNotifierController.h: 25";
     5951                rLen = 0;
     5952                rLoc = 639;
     5953                rType = 0;
     5954                vrLen = 804;
     5955                vrLoc = 0;
     5956        };
     5957        E19DCCCB03BE900300B934BF = {
     5958                fRef = F59DC6DC0353DE5101AEEDB1;
     5959                isa = PBXTextBookmark;
     5960                name = "PSAlarmNotifierController.m: 79";
     5961                rLen = 0;
     5962                rLoc = 2525;
     5963                rType = 0;
     5964                vrLen = 1296;
     5965                vrLoc = 1987;
     5966        };
     5967        E19DCCCD03BE900300B934BF = {
     5968                fRef = F560E2F10357506401A4E466;
     5969                isa = PBXTextBookmark;
     5970                name = "PSApplication.m: ";
     5971                rLen = 0;
     5972                rLoc = 5496;
     5973                rType = 0;
     5974                vrLen = 1840;
     5975                vrLoc = 3628;
     5976        };
     5977        E19DCCCE03BE900300B934BF = {
     5978                fRef = F59F6CB50354E7DA01AEEDB1;
     5979                isa = PBXTextBookmark;
     5980                name = "PSAlarm.m: 383";
     5981                rLen = 0;
     5982                rLoc = 12563;
     5983                rType = 0;
     5984                vrLen = 1405;
     5985                vrLoc = 11532;
     5986        };
     5987        E19DCCCF03BE900300B934BF = {
     5988                fRef = F589C9C6035AA12B0155F4B2;
     5989                isa = PBXTextBookmark;
     5990                name = "Read Me.rtfd: 90";
     5991                rLen = 0;
     5992                rLoc = 6597;
     5993                rType = 0;
     5994                vrLen = 2581;
     5995                vrLoc = 4602;
     5996        };
     5997        E19DCCD103BE900300B934BF = {
     5998                fRef = F59DC6DC0353DE5101AEEDB1;
     5999                isa = PBXTextBookmark;
     6000                name = "PSAlarmNotifierController.m: 145";
     6001                rLen = 0;
     6002                rLoc = 5133;
     6003                rType = 0;
     6004                vrLen = 1524;
     6005                vrLoc = 3698;
     6006        };
     6007        E19DCCD203BE900300B934BF = {
     6008                fRef = F589C9C6035AA12B0155F4B2;
     6009                isa = PBXTextBookmark;
     6010                name = "Read Me.rtfd: 113";
     6011                rLen = 0;
     6012                rLoc = 10205;
     6013                rType = 0;
     6014                vrLen = 2830;
     6015                vrLoc = 7613;
     6016        };
     6017        E19DCCD403BE900300B934BF = {
     6018                fRef = F5F240CC036A877301FE7503;
     6019                isa = PBXTextBookmark;
     6020                name = "NJRQTMediaPopUpButton.m: 181";
     6021                rLen = 0;
     6022                rLoc = 6701;
     6023                rType = 0;
     6024                vrLen = 952;
     6025                vrLoc = 6028;
     6026        };
     6027        E19DCCD503BE900300B934BF = {
     6028                fRef = F560E3160357895001A4E466;
     6029                isa = PBXTextBookmark;
     6030                name = "NJRHistoryTrackingComboBox.m: 62";
     6031                rLen = 0;
     6032                rLoc = 1883;
     6033                rType = 0;
     6034                vrLen = 1252;
     6035                vrLoc = 1028;
     6036        };
     6037        E19DCCD603BE900300B934BF = {
     6038                fRef = F517D6420356B8CC016D68B9;
     6039                isa = PBXTextBookmark;
     6040                name = "PSAlarms.m: 169";
     6041                rLen = 11;
     6042                rLoc = 4768;
     6043                rType = 0;
     6044                vrLen = 1007;
     6045                vrLoc = 4420;
     6046        };
     6047        E19DCCD703BE900300B934BF = {
     6048                fRef = F589C9C6035AA12B0155F4B2;
     6049                isa = PBXTextBookmark;
     6050                name = "Read Me.rtfd: 86";
     6051                rLen = 0;
     6052                rLoc = 6155;
     6053                rType = 0;
     6054                vrLen = 2751;
     6055                vrLoc = 4838;
     6056        };
     6057        E19DCCD803BE900300B934BF = {
     6058                fRef = F59E47C0036B1ADD016B311C;
     6059                isa = PBXTextBookmark;
     6060                name = "PSMovieAlertController.m: 92";
     6061                rLen = 0;
     6062                rLoc = 3878;
     6063                rType = 0;
     6064                vrLen = 1703;
     6065                vrLoc = 2680;
     6066        };
     6067        E19DCCD903BE900300B934BF = {
     6068                fRef = F59E47C1036B1ADD016B311C;
     6069                isa = PBXTextBookmark;
     6070                name = "PSMovieAlertController.h: initWithAlarm:movieAlert:";
     6071                rLen = 0;
     6072                rLoc = 649;
     6073                rType = 0;
     6074                vrLen = 661;
     6075                vrLoc = 0;
     6076        };
     6077        E19DCCDA03BE900300B934BF = {
     6078                fRef = F59E47C0036B1ADD016B311C;
     6079                isa = PBXTextBookmark;
     6080                name = "PSMovieAlertController.m: 105";
     6081                rLen = 0;
     6082                rLoc = 4196;
     6083                rType = 0;
     6084                vrLen = 1707;
     6085                vrLoc = 2680;
     6086        };
     6087        E19DCCDB03BE900300B934BF = {
     6088                fRef = F5F240CC036A877301FE7503;
     6089                isa = PBXTextBookmark;
     6090                name = "NJRQTMediaPopUpButton.m: ";
     6091                rLen = 0;
     6092                rLoc = 4123;
     6093                rType = 0;
     6094                vrLen = 1323;
     6095                vrLoc = 0;
     6096        };
     6097        E19DCCDF03BE900300B934BF = {
     6098                isa = PBXFileReference;
     6099                name = NSTextField.h;
     6100                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextField.h;
     6101                refType = 0;
     6102        };
     6103        E19DCCE103BE900300B934BF = {
     6104                isa = PBXFileReference;
     6105                name = NSWindow.html;
     6106                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSWindow.html;
     6107                refType = 0;
     6108        };
     6109        E19DCCE203BE900300B934BF = {
     6110                isa = PBXFileReference;
     6111                name = math.h;
     6112                path = /usr/include/math.h;
     6113                refType = 0;
     6114        };
     6115        E19DCCE303BE900300B934BF = {
     6116                isa = PBXFileReference;
     6117                name = NSDate.h;
     6118                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSDate.h;
     6119                refType = 0;
     6120        };
     6121        E19DCCE403BE900300B934BF = {
     6122                isa = PBXFileReference;
     6123                name = math.h;
     6124                path = /usr/include/architecture/ppc/math.h;
     6125                refType = 0;
     6126        };
     6127        E19DCCE503BE900300B934BF = {
     6128                isa = PBXFileReference;
     6129                name = NSValue.h;
     6130                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSValue.h;
     6131                refType = 0;
     6132        };
     6133        E19DCCE603BE900300B934BF = {
     6134                isa = PBXFileReference;
     6135                name = NSUserDefaults.h;
     6136                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSUserDefaults.h;
     6137                refType = 0;
     6138        };
     6139        E19DCCE803BE900300B934BF = {
     6140                isa = PBXFileReference;
     6141                name = NSControl.h;
     6142                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSControl.h;
     6143                refType = 0;
     6144        };
     6145        E19DCCE903BE900300B934BF = {
     6146                isa = PBXFileReference;
     6147                name = NSTextField.h;
     6148                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSTextField.h;
     6149                refType = 0;
     6150        };
     6151        E1A9DEE703BF3C110089E8B2 = {
     6152                isa = PBXSymbolicBreakpoint;
     6153                state = 1;
     6154                symbolName = "-[_NSZombie release]";
     6155        };
     6156        E1A9DEEB03BF480F0089E8B2 = {
     6157                fRef = E1A9DF1103BF480F0089E8B2;
     6158                isa = PBXTextBookmark;
     6159                name = "NSPopUpButton.h: 23";
     6160                rLen = 0;
     6161                rLoc = 546;
     6162                rType = 0;
     6163                vrLen = 1222;
     6164                vrLoc = 1166;
     6165        };
     6166        E1A9DEEE03BF480F0089E8B2 = {
     6167                fRef = E1A9DF1303BF480F0089E8B2;
     6168                isa = PBXTextBookmark;
     6169                name = "NSStepper.h: 10";
     6170                rLen = 9;
     6171                rLoc = 187;
     6172                rType = 0;
     6173                vrLen = 636;
     6174                vrLoc = 0;
     6175        };
     6176        E1A9DEF003BF480F0089E8B2 = {
     6177                fRef = F5F240CC036A877301FE7503;
     6178                isa = PBXTextBookmark;
     6179                name = "NJRQTMediaPopUpButton.m: ";
     6180                rLen = 0;
     6181                rLoc = 6837;
     6182                rType = 0;
     6183                vrLen = 1590;
     6184                vrLoc = 6840;
     6185        };
     6186        E1A9DEF103BF480F0089E8B2 = {
     6187                fRef = F59E47AC036AAC1E016B311C;
     6188                isa = PBXTextBookmark;
     6189                name = "PSBeepAlert.h: 11";
     6190                rLen = 0;
     6191                rLoc = 170;
     6192                rType = 0;
     6193                vrLen = 453;
     6194                vrLoc = 0;
     6195        };
     6196        E1A9DEF203BF480F0089E8B2 = {
     6197                fRef = F59E47AB036AAC1E016B311C;
     6198                isa = PBXTextBookmark;
     6199                name = "PSBeepAlert.m: __STDC__";
     6200                rLen = 0;
     6201                rLoc = 163;
     6202                rType = 0;
     6203                vrLen = 852;
     6204                vrLoc = 0;
     6205        };
     6206        E1A9DEF703BF480F0089E8B2 = {
     6207                fRef = F589C9C6035AA12B0155F4B2;
     6208                isa = PBXTextBookmark;
     6209                name = "Read Me.rtfd: 167";
     6210                rLen = 0;
     6211                rLoc = 12371;
     6212                rType = 0;
     6213                vrLen = 2647;
     6214                vrLoc = 8836;
     6215        };
     6216        E1A9DEF903BF480F0089E8B2 = {
     6217                fRef = F59DC6D30353C9E601AEEDB1;
     6218                isa = PBXTextBookmark;
     6219                name = "PSAlarmSetController.h: 16";
     6220                rLen = 0;
     6221                rLoc = 371;
     6222                rType = 0;
     6223                vrLen = 1530;
     6224                vrLoc = 0;
     6225        };
     6226        E1A9DEFB03BF480F0089E8B2 = {
     6227                fRef = F5F240CC036A877301FE7503;
     6228                isa = PBXTextBookmark;
     6229                name = "NJRQTMediaPopUpButton.m: 259";
     6230                rLen = 0;
     6231                rLoc = 9493;
     6232                rType = 0;
     6233                vrLen = 1353;
     6234                vrLoc = 8714;
     6235        };
     6236        E1A9DEFC03BF480F0089E8B2 = {
     6237                fRef = F5F240CA036A869401FE7503;
     6238                isa = PBXTextBookmark;
     6239                name = "BDAlias.m: __VERSION__";
     6240                rLen = 0;
     6241                rLoc = 0;
     6242                rType = 0;
     6243                vrLen = 920;
     6244                vrLoc = 1697;
     6245        };
     6246        E1A9DEFD03BF480F0089E8B2 = {
     6247                fRef = F5F240CC036A877301FE7503;
     6248                isa = PBXTextBookmark;
     6249                name = "NJRQTMediaPopUpButton.m: ";
     6250                rLen = 0;
     6251                rLoc = 6312;
     6252                rType = 0;
     6253                vrLen = 960;
     6254                vrLoc = 6020;
     6255        };
     6256        E1A9DEFE03BF480F0089E8B2 = {
     6257                fRef = F59E47B4036AAD55016B311C;
     6258                isa = PBXTextBookmark;
     6259                name = "PSAlarmAlertController.m: _alertCompleted:";
     6260                rLen = 0;
     6261                rLoc = 1552;
     6262                rType = 0;
     6263                vrLen = 1267;
     6264                vrLoc = 0;
     6265        };
     6266        E1A9DF0003BF480F0089E8B2 = {
     6267                fRef = F59DC6D30353C9E601AEEDB1;
     6268                isa = PBXTextBookmark;
     6269                name = "PSAlarmSetController.h: 33";
     6270                rLen = 9;
     6271                rLoc = 1132;
     6272                rType = 0;
     6273                vrLen = 1530;
     6274                vrLoc = 0;
     6275        };
     6276        E1A9DF0203BF480F0089E8B2 = {
     6277                fRef = F5F240CC036A877301FE7503;
     6278                isa = PBXTextBookmark;
     6279                name = "NJRQTMediaPopUpButton.m: ";
     6280                rLen = 0;
     6281                rLoc = 6837;
     6282                rType = 0;
     6283                vrLen = 1590;
     6284                vrLoc = 6840;
     6285        };
     6286        E1A9DF0303BF480F0089E8B2 = {
     6287                fRef = F59E47AB036AAC1E016B311C;
     6288                isa = PBXTextBookmark;
     6289                name = "PSBeepAlert.m: 18";
     6290                rLen = 0;
     6291                rLoc = 392;
     6292                rType = 0;
     6293                vrLen = 852;
     6294                vrLoc = 0;
     6295        };
     6296        E1A9DF0403BF480F0089E8B2 = {
     6297                fRef = F59E47AC036AAC1E016B311C;
     6298                isa = PBXTextBookmark;
     6299                name = "PSBeepAlert.h: 11";
     6300                rLen = 0;
     6301                rLoc = 170;
     6302                rType = 0;
     6303                vrLen = 453;
     6304                vrLoc = 0;
     6305        };
     6306        E1A9DF0503BF480F0089E8B2 = {
     6307                fRef = F59E47AB036AAC1E016B311C;
     6308                isa = PBXTextBookmark;
     6309                name = "PSBeepAlert.m: __STDC__";
     6310                rLen = 0;
     6311                rLoc = 163;
     6312                rType = 0;
     6313                vrLen = 852;
     6314                vrLoc = 0;
     6315        };
     6316        E1A9DF0603BF480F0089E8B2 = {
     6317                fRef = F5F1986C036B813101EB0372;
     6318                isa = PBXTextBookmark;
     6319                name = "PSSpeechAlert.m: voice";
     6320                rLen = 0;
     6321                rLoc = 853;
     6322                rType = 0;
     6323                vrLen = 908;
     6324                vrLoc = 0;
     6325        };
     6326        E1A9DF0703BF480F0089E8B2 = {
     6327                fRef = F589C9C6035AA12B0155F4B2;
     6328                isa = PBXTextBookmark;
     6329                name = "Read Me.rtfd: 103";
     6330                rLen = 0;
     6331                rLoc = 8933;
     6332                rType = 0;
     6333                vrLen = 2871;
     6334                vrLoc = 6954;
     6335        };
     6336        E1A9DF0803BF480F0089E8B2 = {
     6337                fRef = F5F1986C036B813101EB0372;
     6338                isa = PBXTextBookmark;
     6339                name = "PSSpeechAlert.m: ";
     6340                rLen = 0;
     6341                rLoc = 2109;
     6342                rType = 0;
     6343                vrLen = 1218;
     6344                vrLoc = 1083;
     6345        };
     6346        E1A9DF0A03BF480F0089E8B2 = {
     6347                fRef = F59DC6D30353C9E601AEEDB1;
     6348                isa = PBXTextBookmark;
     6349                name = "PSAlarmSetController.h: 37";
     6350                rLen = 7;
     6351                rLoc = 1322;
     6352                rType = 0;
     6353                vrLen = 1520;
     6354                vrLoc = 509;
     6355        };
     6356        E1A9DF1103BF480F0089E8B2 = {
     6357                isa = PBXFileReference;
     6358                name = NSPopUpButton.h;
     6359                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSPopUpButton.h;
     6360                refType = 0;
     6361        };
     6362        E1A9DF1303BF480F0089E8B2 = {
     6363                isa = PBXFileReference;
     6364                name = NSStepper.h;
     6365                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSStepper.h;
     6366                refType = 0;
     6367        };
     6368        E1D2936E03BD2A2700F9204E = {
     6369                fRef = F59DC6DC0353DE5101AEEDB1;
     6370                isa = PBXTextBookmark;
     6371                name = "PSAlarmNotifierController.m: initWithAlarm:";
     6372                rLen = 40;
     6373                rLoc = 637;
     6374                rType = 0;
     6375                vrLen = 1672;
     6376                vrLoc = 380;
     6377        };
     6378        E1D2937503BD418200F9204E = {
     6379                fRef = E1D2945A03BD418200F9204E;
     6380                isa = PBXTextBookmark;
     6381                name = "NSButton.h: 13";
     6382                rLen = 9;
     6383                rLoc = 206;
     6384                rType = 0;
     6385                vrLen = 1162;
     6386                vrLoc = 0;
     6387        };
     6388        E1D2937B03BD418200F9204E = {
     6389                fRef = E1D2945C03BD418200F9204E;
     6390                glyphRangeLength = 0;
     6391                glyphRangeLocation = 0;
     6392                isa = PBXDocBookmark;
     6393        };
     6394        E1D2937C03BD418200F9204E = {
     6395                fRef = E1D2945D03BD418200F9204E;
     6396                glyphRangeLength = 770;
     6397                glyphRangeLocation = 7269;
     6398                isa = PBXDocBookmark;
     6399                name = "NSTimer.html: isValid  - (...";
     6400        };
     6401        E1D2937E03BD418200F9204E = {
     6402                fRef = E13919E203B9E4E100000028;
     6403                isa = PBXTextBookmark;
     6404                name = "NJRIntervalField.h: 17";
     6405                rLen = 0;
     6406                rLoc = 378;
     6407                rType = 0;
     6408                vrLen = 385;
     6409                vrLoc = 0;
     6410        };
     6411        E1D2938303BD418200F9204E = {
     6412                fRef = E1D2945F03BD418200F9204E;
     6413                isa = PBXTextBookmark;
     6414                name = "NSWindowController.h: 1";
     6415                rLen = 0;
     6416                rLoc = 0;
     6417                rType = 0;
     6418                vrLen = 1770;
     6419                vrLoc = 0;
     6420        };
     6421        E1D2938403BD418200F9204E = {
     6422                fRef = E1D2946003BD418200F9204E;
     6423                isa = PBXTextBookmark;
     6424                name = "NSWindow.h: 442";
     6425                rLen = 56;
     6426                rLoc = 15678;
     6427                rType = 0;
     6428                vrLen = 2148;
     6429                vrLoc = 14728;
     6430        };
     6431        E1D2938503BD418200F9204E = {
     6432                fRef = E1D2946103BD418200F9204E;
     6433                glyphRangeLength = 0;
     6434                glyphRangeLocation = 0;
     6435                isa = PBXDocBookmark;
     6436        };
     6437        E1D2938603BD418200F9204E = {
     6438                fRef = E1D2946203BD418200F9204E;
     6439                glyphRangeLength = 1683;
     6440                glyphRangeLocation = 0;
     6441                isa = PBXDocBookmark;
     6442                name = "HowWindowIsDisplayed.html: Show Topic  ...";
     6443        };
     6444        E1D2938903BD418200F9204E = {
     6445                fRef = E1D2946303BD418200F9204E;
     6446                isa = PBXTextBookmark;
     6447                name = "NSTimer.h: 1";
     6448                rLen = 0;
     6449                rLoc = 0;
     6450                rType = 0;
     6451                vrLen = 1129;
     6452                vrLoc = 0;
     6453        };
     6454        E1D2939103BD418200F9204E = {
     6455                fRef = F59DC6DC0353DE5101AEEDB1;
     6456                isa = PBXTextBookmark;
     6457                name = "PSAlarmNotifierController.m: initWithAlarm:";
     6458                rLen = 0;
     6459                rLoc = 1827;
     6460                rType = 0;
     6461                vrLen = 645;
     6462                vrLoc = 299;
     6463        };
     6464        E1D2939203BD418200F9204E = {
     6465                fRef = F59DC6DB0353DE5101AEEDB1;
     6466                isa = PBXTextBookmark;
     6467                name = "PSAlarmNotifierController.h: 7";
     6468                rLen = 0;
     6469                rLoc = 161;
     6470                rType = 0;
     6471                vrLen = 506;
     6472                vrLoc = 0;
     6473        };
     6474        E1D2939303BD418200F9204E = {
     6475                fRef = F59F6CB50354E7DA01AEEDB1;
     6476                isa = PBXTextBookmark;
     6477                name = "PSAlarm.m: isRepeating";
     6478                rLen = 0;
     6479                rLoc = 8803;
     6480                rType = 0;
     6481                vrLen = 320;
     6482                vrLoc = 7792;
     6483        };
     6484        E1D2939403BD418200F9204E = {
     6485                fRef = F59F6CB40354E7DA01AEEDB1;
     6486                isa = PBXTextBookmark;
     6487                name = "PSAlarm.h: 1";
     6488                rLen = 0;
     6489                rLoc = 0;
     6490                rType = 0;
     6491                vrLen = 1106;
     6492                vrLoc = 814;
     6493        };
     6494        E1D2939503BD418200F9204E = {
     6495                fRef = F59DC6DC0353DE5101AEEDB1;
     6496                isa = PBXTextBookmark;
     6497                name = "PSAlarmNotifierController.m: close:";
     6498                rLen = 0;
     6499                rLoc = 1752;
     6500                rType = 0;
     6501                vrLen = 1339;
     6502                vrLoc = 0;
     6503        };
     6504        E1D2939603BD418200F9204E = {
     6505                fRef = F59F6CB50354E7DA01AEEDB1;
     6506                isa = PBXTextBookmark;
     6507                name = "PSAlarm.m: _stringForInterval:";
     6508                rLen = 0;
     6509                rLoc = 4351;
     6510                rType = 0;
     6511                vrLen = 1632;
     6512                vrLoc = 3423;
     6513        };
     6514        E1D2939703BD418200F9204E = {
     6515                fRef = F59DC6DC0353DE5101AEEDB1;
     6516                isa = PBXTextBookmark;
     6517                name = "PSAlarmNotifierController.m: initWithAlarm:";
     6518                rLen = 14;
     6519                rLoc = 1393;
     6520                rType = 0;
     6521                vrLen = 1462;
     6522                vrLoc = 0;
     6523        };
     6524        E1D2939803BD418200F9204E = {
     6525                fRef = F59F6CB50354E7DA01AEEDB1;
     6526                isa = PBXTextBookmark;
     6527                name = "PSAlarm.m: _timerExpired:";
     6528                rLen = 41;
     6529                rLoc = 5160;
     6530                rType = 0;
     6531                vrLen = 1626;
     6532                vrLoc = 3591;
     6533        };
     6534        E1D2939903BD418200F9204E = {
     6535                fRef = F59F6CB40354E7DA01AEEDB1;
     6536                isa = PBXTextBookmark;
     6537                name = "PSAlarm.h: 1";
     6538                rLen = 0;
     6539                rLoc = 0;
     6540                rType = 0;
     6541                vrLen = 1126;
     6542                vrLoc = 794;
     6543        };
     6544        E1D2939A03BD418200F9204E = {
     6545                fRef = F59F6CB50354E7DA01AEEDB1;
     6546                isa = PBXTextBookmark;
     6547                name = "PSAlarm.m: setTimer";
     6548                rLen = 0;
     6549                rLoc = 11727;
     6550                rType = 0;
     6551                vrLen = 1583;
     6552                vrLoc = 8439;
     6553        };
     6554        E1D2939B03BD418200F9204E = {
     6555                fRef = F59F6CB40354E7DA01AEEDB1;
     6556                isa = PBXTextBookmark;
     6557                name = "PSAlarm.h: 2";
     6558                rLen = 0;
     6559                rLoc = 3;
     6560                rType = 0;
     6561                vrLen = 1140;
     6562                vrLoc = 0;
     6563        };
     6564        E1D2939C03BD418200F9204E = {
     6565                fRef = F59F6CB50354E7DA01AEEDB1;
     6566                isa = PBXTextBookmark;
     6567                name = "PSAlarm.m: _beValidWithType:";
     6568                rLen = 0;
     6569                rLoc = 2637;
     6570                rType = 0;
     6571                vrLen = 1538;
     6572                vrLoc = 141;
     6573        };
     6574        E1D2939D03BD418200F9204E = {
     6575                fRef = F59F6CB40354E7DA01AEEDB1;
     6576                isa = PBXTextBookmark;
     6577                name = "PSAlarm.h: 19";
     6578                rLen = 0;
     6579                rLoc = 732;
     6580                rType = 0;
     6581                vrLen = 1184;
     6582                vrLoc = 450;
     6583        };
     6584        E1D2939E03BD418200F9204E = {
     6585                fRef = F59F6CB50354E7DA01AEEDB1;
     6586                isa = PBXTextBookmark;
     6587                name = "PSAlarm.m: timeRemainingString";
     6588                rLen = 0;
     6589                rLoc = 10743;
     6590                rType = 0;
     6591                vrLen = 1441;
     6592                vrLoc = 8086;
     6593        };
     6594        E1D2939F03BD418200F9204E = {
     6595                fRef = F59F6CB40354E7DA01AEEDB1;
     6596                isa = PBXTextBookmark;
     6597                name = "PSAlarm.h: 19";
     6598                rLen = 0;
     6599                rLoc = 732;
     6600                rType = 0;
     6601                vrLen = 1184;
     6602                vrLoc = 450;
     6603        };
     6604        E1D293A003BD418200F9204E = {
     6605                fRef = F59F6CB50354E7DA01AEEDB1;
     6606                isa = PBXTextBookmark;
     6607                name = "PSAlarm.m: _beValidWithType:";
     6608                rLen = 0;
     6609                rLoc = 2831;
     6610                rType = 0;
     6611                vrLen = 1215;
     6612                vrLoc = 2336;
     6613        };
     6614        E1D293A103BD418200F9204E = {
     6615                fRef = F59F6CB40354E7DA01AEEDB1;
     6616                isa = PBXTextBookmark;
     6617                name = "PSAlarm.h: 19";
     6618                rLen = 0;
     6619                rLoc = 732;
     6620                rType = 0;
     6621                vrLen = 1139;
     6622                vrLoc = 0;
     6623        };
     6624        E1D293A203BD418200F9204E = {
     6625                fRef = F59F6CB50354E7DA01AEEDB1;
     6626                isa = PBXTextBookmark;
     6627                name = "PSAlarm.m: setTimer";
     6628                rLen = 0;
     6629                rLoc = 11727;
     6630                rType = 0;
     6631                vrLen = 1063;
     6632                vrLoc = 9535;
     6633        };
     6634        E1D293A303BD418200F9204E = {
     6635                fRef = F59F6CB40354E7DA01AEEDB1;
     6636                isa = PBXTextBookmark;
     6637                name = "PSAlarm.h: 19";
     6638                rLen = 0;
     6639                rLoc = 732;
     6640                rType = 0;
     6641                vrLen = 1139;
     6642                vrLoc = 0;
     6643        };
     6644        E1D293A403BD418200F9204E = {
     6645                fRef = F59F6CB50354E7DA01AEEDB1;
     6646                isa = PBXTextBookmark;
     6647                name = "PSAlarm.m: 25";
     6648                rLen = 0;
     6649                rLoc = 1076;
     6650                rType = 0;
     6651                vrLen = 1568;
     6652                vrLoc = 0;
     6653        };
     6654        E1D293A503BD418200F9204E = {
     6655                fRef = F59F6CB40354E7DA01AEEDB1;
     6656                isa = PBXTextBookmark;
     6657                name = "PSAlarm.h: 19";
     6658                rLen = 0;
     6659                rLoc = 732;
     6660                rType = 0;
     6661                vrLen = 1139;
     6662                vrLoc = 0;
     6663        };
     6664        E1D293A603BD418200F9204E = {
     6665                fRef = F59F6CB50354E7DA01AEEDB1;
     6666                isa = PBXTextBookmark;
     6667                name = "PSAlarm.m: nextDateTimeString";
     6668                rLen = 0;
     6669                rLoc = 10743;
     6670                rType = 0;
     6671                vrLen = 1484;
     6672                vrLoc = 7975;
     6673        };
     6674        E1D293A703BD418200F9204E = {
     6675                fRef = F59F6CB40354E7DA01AEEDB1;
     6676                isa = PBXTextBookmark;
     6677                name = "PSAlarm.h: 19";
     6678                rLen = 0;
     6679                rLoc = 732;
     6680                rType = 0;
     6681                vrLen = 1139;
     6682                vrLoc = 0;
     6683        };
     6684        E1D293A803BD418200F9204E = {
     6685                fRef = F59F6CB50354E7DA01AEEDB1;
     6686                isa = PBXTextBookmark;
     6687                name = "PSAlarm.m: dateTimeString";
     6688                rLen = 30;
     6689                rLoc = 9181;
     6690                rType = 0;
     6691                vrLen = 989;
     6692                vrLoc = 7753;
     6693        };
     6694        E1D293A903BD418200F9204E = {
     6695                fRef = F59F6CB40354E7DA01AEEDB1;
     6696                isa = PBXTextBookmark;
     6697                name = "PSAlarm.h: timeRemainingString";
     6698                rLen = 0;
     6699                rLoc = 2009;
     6700                rType = 0;
     6701                vrLen = 1197;
     6702                vrLoc = 449;
     6703        };
     6704        E1D293AA03BD418200F9204E = {
     6705                fRef = F59F6CB50354E7DA01AEEDB1;
     6706                isa = PBXTextBookmark;
     6707                name = "PSAlarm.m: nextDateTimeString";
     6708                rLen = 0;
     6709                rLoc = 10743;
     6710                rType = 0;
     6711                vrLen = 1702;
     6712                vrLoc = 8612;
     6713        };
     6714        E1D293AB03BD418200F9204E = {
     6715                fRef = F59F6CB40354E7DA01AEEDB1;
     6716                isa = PBXTextBookmark;
     6717                name = "PSAlarm.h: 55";
     6718                rLen = 0;
     6719                rLoc = 2009;
     6720                rType = 0;
     6721                vrLen = 1170;
     6722                vrLoc = 449;
     6723        };
     6724        E1D293AC03BD418200F9204E = {
     6725                fRef = F59F6CB50354E7DA01AEEDB1;
     6726                isa = PBXTextBookmark;
     6727                name = "PSAlarm.m: initialize";
     6728                rLen = 0;
     6729                rLoc = 9306;
     6730                rType = 0;
     6731                vrLen = 1775;
     6732                vrLoc = 8244;
     6733        };
     6734        E1D293AD03BD418200F9204E = {
     6735                fRef = F59F6CB40354E7DA01AEEDB1;
     6736                isa = PBXTextBookmark;
     6737                name = "PSAlarm.h: timeRemainingString";
     6738                rLen = 0;
     6739                rLoc = 2008;
     6740                rType = 0;
     6741                vrLen = 1170;
     6742                vrLoc = 449;
     6743        };
     6744        E1D293AE03BD418200F9204E = {
     6745                fRef = F59F6CB50354E7DA01AEEDB1;
     6746                isa = PBXTextBookmark;
     6747                name = "PSAlarm.m: hour";
     6748                rLen = 0;
     6749                rLoc = 9370;
     6750                rType = 0;
     6751                vrLen = 1770;
     6752                vrLoc = 8244;
     6753        };
     6754        E1D293AF03BD418200F9204E = {
     6755                fRef = F59F6CB40354E7DA01AEEDB1;
     6756                isa = PBXTextBookmark;
     6757                name = "PSAlarm.h: nextDateTimeString";
     6758                rLen = 0;
     6759                rLoc = 2008;
     6760                rType = 0;
     6761                vrLen = 1219;
     6762                vrLoc = 449;
     6763        };
     6764        E1D293B003BD418200F9204E = {
     6765                fRef = F59DC6DC0353DE5101AEEDB1;
     6766                isa = PBXTextBookmark;
     6767                name = "PSAlarmNotifierController.m: initWithAlarm:";
     6768                rLen = 0;
     6769                rLoc = 1476;
     6770                rType = 0;
     6771                vrLen = 1397;
     6772                vrLoc = 0;
     6773        };
     6774        E1D293B203BD418200F9204E = {
     6775                fRef = F59DC6D30353C9E601AEEDB1;
     6776                isa = PBXTextBookmark;
     6777                name = "PSAlarmSetController.h: 21";
     6778                rLen = 19;
     6779                rLoc = 562;
     6780                rType = 0;
     6781                vrLen = 1459;
     6782                vrLoc = 0;
     6783        };
     6784        E1D293B403BD418200F9204E = {
     6785                fRef = E1D2946703BD418200F9204E;
     6786                isa = PBXTextBookmark;
     6787                name = "NSButton.h: 13";
     6788                rLen = 9;
     6789                rLoc = 206;
     6790                rType = 0;
     6791                vrLen = 1162;
     6792                vrLoc = 0;
     6793        };
     6794        E1D293B503BD418200F9204E = {
     6795                fRef = E1D2946803BD418200F9204E;
     6796                isa = PBXTextBookmark;
     6797                name = "NSControl.h: 14";
     6798                rLen = 2;
     6799                rLoc = 274;
     6800                rType = 0;
     6801                vrLen = 1658;
     6802                vrLoc = 2392;
     6803        };
     6804        E1D293B703BD418200F9204E = {
     6805                fRef = E1D2946903BD418200F9204E;
     6806                isa = PBXTextBookmark;
     6807                name = "NSControl.h: 30";
     6808                rLen = 0;
     6809                rLoc = 721;
     6810                rType = 0;
     6811                vrLen = 1246;
     6812                vrLoc = 477;
     6813        };
     6814        E1D293B903BD418200F9204E = {
     6815                fRef = F59DC6DC0353DE5101AEEDB1;
     6816                isa = PBXTextBookmark;
     6817                name = "PSAlarmNotifierController.m: 50";
     6818                rLen = 0;
     6819                rLoc = 2727;
     6820                rType = 0;
     6821                vrLen = 1312;
     6822                vrLoc = 382;
     6823        };
     6824        E1D293BA03BD418200F9204E = {
     6825                fRef = F59DC6DB0353DE5101AEEDB1;
     6826                isa = PBXTextBookmark;
     6827                name = "PSAlarmNotifierController.h: 7";
     6828                rLen = 0;
     6829                rLoc = 161;
     6830                rType = 0;
     6831                vrLen = 671;
     6832                vrLoc = 0;
     6833        };
     6834        E1D293BB03BD418200F9204E = {
     6835                fRef = F59DC6DC0353DE5101AEEDB1;
     6836                isa = PBXTextBookmark;
     6837                name = "PSAlarmNotifierController.m: 50";
     6838                rLen = 0;
     6839                rLoc = 2727;
     6840                rType = 0;
     6841                vrLen = 1060;
     6842                vrLoc = 1295;
     6843        };
     6844        E1D293BC03BD418200F9204E = {
     6845                fRef = F59DC6DB0353DE5101AEEDB1;
     6846                isa = PBXTextBookmark;
     6847                name = "PSAlarmNotifierController.h: 7";
     6848                rLen = 0;
     6849                rLoc = 161;
     6850                rType = 0;
     6851                vrLen = 671;
     6852                vrLoc = 0;
     6853        };
     6854        E1D293BD03BD418200F9204E = {
     6855                fRef = F59DC6DC0353DE5101AEEDB1;
     6856                isa = PBXTextBookmark;
     6857                name = "PSAlarmNotifierController.m: update:";
     6858                rLen = 0;
     6859                rLoc = 2661;
     6860                rType = 0;
     6861                vrLen = 958;
     6862                vrLoc = 1295;
     6863        };
     6864        E1D293BE03BD418200F9204E = {
     6865                fRef = F59DC6DB0353DE5101AEEDB1;
     6866                isa = PBXTextBookmark;
     6867                name = "PSAlarmNotifierController.h: 7";
     6868                rLen = 0;
     6869                rLoc = 161;
     6870                rType = 0;
     6871                vrLen = 671;
     6872                vrLoc = 0;
     6873        };
     6874        E1D293BF03BD418200F9204E = {
     6875                fRef = F59DC6DC0353DE5101AEEDB1;
     6876                isa = PBXTextBookmark;
     6877                name = "PSAlarmNotifierController.m: update:";
     6878                rLen = 0;
     6879                rLoc = 2627;
     6880                rType = 0;
     6881                vrLen = 1009;
     6882                vrLoc = 1295;
     6883        };
     6884        E1D293C003BD418200F9204E = {
     6885                fRef = F59DC6DB0353DE5101AEEDB1;
     6886                isa = PBXTextBookmark;
     6887                name = "PSAlarmNotifierController.h: 7";
     6888                rLen = 0;
     6889                rLoc = 161;
     6890                rType = 0;
     6891                vrLen = 671;
     6892                vrLoc = 0;
     6893        };
     6894        E1D293C103BD418200F9204E = {
     6895                fRef = F59DC6DC0353DE5101AEEDB1;
     6896                isa = PBXTextBookmark;
     6897                name = "PSAlarmNotifierController.m: initWithAlarm:";
     6898                rLen = 0;
     6899                rLoc = 1932;
     6900                rType = 0;
     6901                vrLen = 1562;
     6902                vrLoc = 474;
     6903        };
     6904        E1D293C203BD418200F9204E = {
     6905                fRef = F5F240CA036A869401FE7503;
     6906                isa = PBXTextBookmark;
     6907                name = "BDAlias.m: ret";
     6908                rLen = 0;
     6909                rLoc = 3776;
     6910                rType = 0;
     6911                vrLen = 779;
     6912                vrLoc = 3292;
     6913        };
     6914        E1D293C403BD418200F9204E = {
     6915                fRef = F59DC6DC0353DE5101AEEDB1;
     6916                isa = PBXTextBookmark;
     6917                name = "PSAlarmNotifierController.m: 22";
     6918                rLen = 0;
     6919                rLoc = 636;
     6920                rType = 0;
     6921                vrLen = 1506;
     6922                vrLoc = 0;
     6923        };
     6924        E1D293C503BD418200F9204E = {
     6925                fRef = F59DC6DB0353DE5101AEEDB1;
     6926                isa = PBXTextBookmark;
     6927                name = "PSAlarmNotifierController.h: 21";
     6928                rLen = 0;
     6929                rLoc = 639;
     6930                rType = 0;
     6931                vrLen = 697;
     6932                vrLoc = 0;
     6933        };
     6934        E1D293C603BD418200F9204E = {
     6935                fRef = F59DC6DC0353DE5101AEEDB1;
     6936                isa = PBXTextBookmark;
     6937                name = "PSAlarmNotifierController.m: update:";
     6938                rLen = 0;
     6939                rLoc = 2401;
     6940                rType = 0;
     6941                vrLen = 1514;
     6942                vrLoc = 527;
     6943        };
     6944        E1D293C703BD418200F9204E = {
     6945                fRef = F59DC6DB0353DE5101AEEDB1;
     6946                isa = PBXTextBookmark;
     6947                name = "PSAlarmNotifierController.h: 21";
     6948                rLen = 0;
     6949                rLoc = 639;
     6950                rType = 0;
     6951                vrLen = 697;
     6952                vrLoc = 0;
     6953        };
     6954        E1D293C803BD418200F9204E = {
     6955                fRef = F59DC6DC0353DE5101AEEDB1;
     6956                isa = PBXTextBookmark;
     6957                name = "PSAlarmNotifierController.m: close:";
     6958                rLen = 0;
     6959                rLoc = 2400;
     6960                rType = 0;
     6961                vrLen = 1891;
     6962                vrLoc = 474;
     6963        };
     6964        E1D293C903BD418200F9204E = {
     6965                fRef = F59DC6DB0353DE5101AEEDB1;
     6966                isa = PBXTextBookmark;
     6967                name = "PSAlarmNotifierController.h: 21";
     6968                rLen = 0;
     6969                rLoc = 639;
     6970                rType = 0;
     6971                vrLen = 697;
     6972                vrLoc = 0;
     6973        };
     6974        E1D293CA03BD418200F9204E = {
     6975                fRef = F59DC6DC0353DE5101AEEDB1;
     6976                isa = PBXTextBookmark;
     6977                name = "PSAlarmNotifierController.m: control:didFailToValidatePartialString:errorDescription:";
     6978                rLen = 1;
     6979                rLoc = 2759;
     6980                rType = 0;
     6981                vrLen = 1498;
     6982                vrLoc = 831;
     6983        };
     6984        E1D293CB03BD418200F9204E = {
     6985                fRef = F59DC6DB0353DE5101AEEDB1;
     6986                isa = PBXTextBookmark;
     6987                name = "PSAlarmNotifierController.h: 27";
     6988                rLen = 85;
     6989                rLoc = 713;
     6990                rType = 0;
     6991                vrLen = 694;
     6992                vrLoc = 0;
     6993        };
     6994        E1D293CC03BD418200F9204E = {
     6995                fRef = F59DC6DC0353DE5101AEEDB1;
     6996                isa = PBXTextBookmark;
     6997                name = "PSAlarmNotifierController.m: updateNextDateDisplay:";
     6998                rLen = 0;
     6999                rLoc = 2381;
     7000                rType = 0;
     7001                vrLen = 1625;
     7002                vrLoc = 0;
     7003        };
     7004        E1D293CD03BD418200F9204E = {
     7005                fRef = F59DC6DB0353DE5101AEEDB1;
     7006                isa = PBXTextBookmark;
     7007                name = "PSAlarmNotifierController.h: 22";
     7008                rLen = 0;
     7009                rLoc = 639;
     7010                rType = 0;
     7011                vrLen = 714;
     7012                vrLoc = 0;
     7013        };
     7014        E1D293CE03BD418200F9204E = {
     7015                fRef = F59DC6DC0353DE5101AEEDB1;
     7016                isa = PBXTextBookmark;
     7017                name = "PSAlarmNotifierController.m: updateNextDateDisplay:";
     7018                rLen = 0;
     7019                rLoc = 2381;
     7020                rType = 0;
     7021                vrLen = 1625;
     7022                vrLoc = 0;
     7023        };
     7024        E1D293CF03BD418200F9204E = {
     7025                fRef = F59DC6DB0353DE5101AEEDB1;
     7026                isa = PBXTextBookmark;
     7027                name = "PSAlarmNotifierController.h: 22";
     7028                rLen = 0;
     7029                rLoc = 639;
     7030                rType = 0;
     7031                vrLen = 714;
     7032                vrLoc = 0;
     7033        };
     7034        E1D293D003BD418200F9204E = {
     7035                fRef = F59E47B4036AAD55016B311C;
     7036                isa = PBXTextBookmark;
     7037                name = "PSAlarmAlertController.m: __VERSION__";
     7038                rLen = 0;
     7039                rLoc = 0;
     7040                rType = 0;
     7041                vrLen = 877;
     7042                vrLoc = 0;
     7043        };
     7044        E1D293D103BD418200F9204E = {
     7045                fRef = F59DC6DC0353DE5101AEEDB1;
     7046                isa = PBXTextBookmark;
     7047                name = "PSAlarmNotifierController.m: updateNextDateDisplay:";
     7048                rLen = 0;
     7049                rLoc = 2381;
     7050                rType = 0;
     7051                vrLen = 1625;
     7052                vrLoc = 0;
     7053        };
     7054        E1D293D203BD418200F9204E = {
     7055                fRef = F59E47B5036AAD55016B311C;
     7056                isa = PBXTextBookmark;
     7057                name = "PSAlarmAlertController.h: 1";
     7058                rLen = 0;
     7059                rLoc = 0;
     7060                rType = 0;
     7061                vrLen = 493;
     7062                vrLoc = 0;
     7063        };
     7064        E1D293D303BD418200F9204E = {
     7065                fRef = F59DC6DB0353DE5101AEEDB1;
     7066                isa = PBXTextBookmark;
     7067                name = "PSAlarmNotifierController.h: 22";
     7068                rLen = 0;
     7069                rLoc = 639;
     7070                rType = 0;
     7071                vrLen = 714;
     7072                vrLoc = 0;
     7073        };
     7074        E1D293D403BD418200F9204E = {
     7075                fRef = F59DC6DC0353DE5101AEEDB1;
     7076                isa = PBXTextBookmark;
     7077                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7078                rLen = 0;
     7079                rLoc = 647;
     7080                rType = 0;
     7081                vrLen = 1625;
     7082                vrLoc = 0;
     7083        };
     7084        E1D293D503BD418200F9204E = {
     7085                fRef = F59DC6DB0353DE5101AEEDB1;
     7086                isa = PBXTextBookmark;
     7087                name = "PSAlarmNotifierController.h: 22";
     7088                rLen = 0;
     7089                rLoc = 639;
     7090                rType = 0;
     7091                vrLen = 714;
     7092                vrLoc = 0;
     7093        };
     7094        E1D293D603BD418200F9204E = {
     7095                fRef = F59DC6DC0353DE5101AEEDB1;
     7096                isa = PBXTextBookmark;
     7097                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7098                rLen = 0;
     7099                rLoc = 647;
     7100                rType = 0;
     7101                vrLen = 1625;
     7102                vrLoc = 0;
     7103        };
     7104        E1D293D703BD418200F9204E = {
     7105                fRef = F59E47B4036AAD55016B311C;
     7106                isa = PBXTextBookmark;
     7107                name = "PSAlarmAlertController.m: __VERSION__";
     7108                rLen = 0;
     7109                rLoc = 0;
     7110                rType = 0;
     7111                vrLen = 877;
     7112                vrLoc = 0;
     7113        };
     7114        E1D293D803BD418200F9204E = {
     7115                fRef = F59DC6DC0353DE5101AEEDB1;
     7116                isa = PBXTextBookmark;
     7117                name = "PSAlarmNotifierController.m: 23";
     7118                rLen = 0;
     7119                rLoc = 636;
     7120                rType = 0;
     7121                vrLen = 1625;
     7122                vrLoc = 0;
     7123        };
     7124        E1D293D903BD418200F9204E = {
     7125                fRef = F59DC6DB0353DE5101AEEDB1;
     7126                isa = PBXTextBookmark;
     7127                name = "PSAlarmNotifierController.h: 22";
     7128                rLen = 0;
     7129                rLoc = 639;
     7130                rType = 0;
     7131                vrLen = 714;
     7132                vrLoc = 0;
     7133        };
     7134        E1D293DA03BD418200F9204E = {
     7135                fRef = F59DC6DC0353DE5101AEEDB1;
     7136                isa = PBXTextBookmark;
     7137                name = "PSAlarmNotifierController.m: 23";
     7138                rLen = 0;
     7139                rLoc = 636;
     7140                rType = 0;
     7141                vrLen = 1670;
     7142                vrLoc = 380;
     7143        };
     7144        E1D293DB03BD418200F9204E = {
     7145                fRef = F59DC6DB0353DE5101AEEDB1;
     7146                isa = PBXTextBookmark;
     7147                name = "PSAlarmNotifierController.h: 22";
     7148                rLen = 0;
     7149                rLoc = 639;
     7150                rType = 0;
     7151                vrLen = 694;
     7152                vrLoc = 0;
     7153        };
     7154        E1D293DC03BD418200F9204E = {
     7155                fRef = F59DC6DC0353DE5101AEEDB1;
     7156                isa = PBXTextBookmark;
     7157                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7158                rLen = 7;
     7159                rLoc = 668;
     7160                rType = 0;
     7161                vrLen = 1672;
     7162                vrLoc = 380;
     7163        };
     7164        E1D293DD03BD418200F9204E = {
     7165                fRef = F59DC6DB0353DE5101AEEDB1;
     7166                isa = PBXTextBookmark;
     7167                name = "PSAlarmNotifierController.h: initWithAlarm:";
     7168                rLen = 40;
     7169                rLoc = 642;
     7170                rType = 0;
     7171                vrLen = 694;
     7172                vrLoc = 0;
     7173        };
     7174        E1D293DE03BD418200F9204E = {
     7175                fRef = F59DC6DC0353DE5101AEEDB1;
     7176                isa = PBXTextBookmark;
     7177                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7178                rLen = 40;
     7179                rLoc = 637;
     7180                rType = 0;
     7181                vrLen = 1672;
     7182                vrLoc = 380;
     7183        };
     7184        E1D293DF03BD418200F9204E = {
     7185                fRef = F59DC6DB0353DE5101AEEDB1;
     7186                isa = PBXTextBookmark;
     7187                name = "PSAlarmNotifierController.h: 25";
     7188                rLen = 0;
     7189                rLoc = 682;
     7190                rType = 0;
     7191                vrLen = 696;
     7192                vrLoc = 0;
     7193        };
     7194        E1D293E003BD418200F9204E = {
     7195                fRef = F59DC6DC0353DE5101AEEDB1;
     7196                isa = PBXTextBookmark;
     7197                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7198                rLen = 40;
     7199                rLoc = 637;
     7200                rType = 0;
     7201                vrLen = 1672;
     7202                vrLoc = 380;
     7203        };
     7204        E1D293E103BD418200F9204E = {
     7205                fRef = F59DC6DB0353DE5101AEEDB1;
     7206                isa = PBXTextBookmark;
     7207                name = "PSAlarmNotifierController.h: 22";
     7208                rLen = 0;
     7209                rLoc = 639;
     7210                rType = 0;
     7211                vrLen = 716;
     7212                vrLoc = 0;
     7213        };
     7214        E1D293E203BD418200F9204E = {
     7215                fRef = F59DC6DC0353DE5101AEEDB1;
     7216                isa = PBXTextBookmark;
     7217                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7218                rLen = 0;
     7219                rLoc = 1639;
     7220                rType = 0;
     7221                vrLen = 1613;
     7222                vrLoc = 380;
     7223        };
     7224        E1D293E303BD418200F9204E = {
     7225                fRef = E13919E303B9E4E100000028;
     7226                isa = PBXTextBookmark;
     7227                name = "PSIntervalField.m: __VERSION__";
     7228                rLen = 0;
     7229                rLoc = 0;
     7230                rType = 0;
     7231                vrLen = 912;
     7232                vrLoc = 0;
     7233        };
     7234        E1D293E403BD418200F9204E = {
     7235                fRef = E13919E203B9E4E100000028;
     7236                isa = PBXTextBookmark;
     7237                name = "NJRIntervalField.h: 1";
     7238                rLen = 0;
     7239                rLoc = 0;
     7240                rType = 0;
     7241                vrLen = 275;
     7242                vrLoc = 0;
     7243        };
     7244        E1D293E503BD418200F9204E = {
     7245                fRef = E13919E303B9E4E100000028;
     7246                isa = PBXTextBookmark;
     7247                name = "NJRIntervalField.m: 12";
     7248                rLen = 0;
     7249                rLoc = 348;
     7250                rType = 0;
     7251                vrLen = 915;
     7252                vrLoc = 0;
     7253        };
     7254        E1D293E603BD418200F9204E = {
     7255                fRef = E13919E203B9E4E100000028;
     7256                isa = PBXTextBookmark;
     7257                name = "NJRIntervalField.h: 12";
     7258                rLen = 0;
     7259                rLoc = 196;
     7260                rType = 0;
     7261                vrLen = 277;
     7262                vrLoc = 0;
     7263        };
     7264        E1D293E703BD418200F9204E = {
     7265                fRef = E13919E303B9E4E100000028;
     7266                isa = PBXTextBookmark;
     7267                name = "NJRIntervalField.m: c";
     7268                rLen = 0;
     7269                rLoc = 765;
     7270                rType = 0;
     7271                vrLen = 1456;
     7272                vrLoc = 0;
     7273        };
     7274        E1D293E803BD418200F9204E = {
     7275                fRef = E13919E203B9E4E100000028;
     7276                isa = PBXTextBookmark;
     7277                name = "NJRIntervalField.h: 12";
     7278                rLen = 0;
     7279                rLoc = 196;
     7280                rType = 0;
     7281                vrLen = 277;
     7282                vrLoc = 0;
     7283        };
     7284        E1D293E903BD418200F9204E = {
     7285                fRef = E13919E303B9E4E100000028;
     7286                isa = PBXTextBookmark;
     7287                name = "NJRIntervalField.m: textView:shouldChangeTextInRange:replacementString:";
     7288                rLen = 0;
     7289                rLoc = 763;
     7290                rType = 0;
     7291                vrLen = 1481;
     7292                vrLoc = 0;
     7293        };
     7294        E1D293EA03BD418200F9204E = {
     7295                fRef = E13919E203B9E4E100000028;
     7296                isa = PBXTextBookmark;
     7297                name = "NJRIntervalField.h: 13";
     7298                rLen = 13;
     7299                rLoc = 254;
     7300                rType = 0;
     7301                vrLen = 277;
     7302                vrLoc = 0;
     7303        };
     7304        E1D293EB03BD418200F9204E = {
     7305                fRef = E13919E303B9E4E100000028;
     7306                isa = PBXTextBookmark;
     7307                name = "NJRIntervalField.m: 32";
     7308                rLen = 0;
     7309                rLoc = 1597;
     7310                rType = 0;
     7311                vrLen = 1417;
     7312                vrLoc = 0;
     7313        };
     7314        E1D293EC03BD418200F9204E = {
     7315                fRef = F589C9C6035AA12B0155F4B2;
     7316                isa = PBXTextBookmark;
     7317                name = "Read Me.rtfd: 114";
     7318                rLen = 0;
     7319                rLoc = 9144;
     7320                rType = 0;
     7321                vrLen = 2457;
     7322                vrLoc = 7261;
     7323        };
     7324        E1D293EE03BD418200F9204E = {
     7325                fRef = F59DC6D30353C9E601AEEDB1;
     7326                isa = PBXTextBookmark;
     7327                name = "PSAlarmSetController.h: 21";
     7328                rLen = 19;
     7329                rLoc = 562;
     7330                rType = 0;
     7331                vrLen = 1621;
     7332                vrLoc = 0;
     7333        };
     7334        E1D293F003BD418200F9204E = {
     7335                fRef = F59DC6D30353C9E601AEEDB1;
     7336                isa = PBXTextBookmark;
     7337                name = "PSAlarmSetController.h: 13";
     7338                rLen = 0;
     7339                rLoc = 258;
     7340                rType = 0;
     7341                vrLen = 1649;
     7342                vrLoc = 0;
     7343        };
     7344        E1D293F103BD418200F9204E = {
     7345                fRef = E13919E303B9E4E100000028;
     7346                isa = PBXTextBookmark;
     7347                name = "NJRIntervalField.m: 53";
     7348                rLen = 0;
     7349                rLoc = 2231;
     7350                rType = 0;
     7351                vrLen = 1396;
     7352                vrLoc = 281;
     7353        };
     7354        E1D293F203BD418200F9204E = {
     7355                fRef = E13919E203B9E4E100000028;
     7356                isa = PBXTextBookmark;
     7357                name = "NJRIntervalField.h: 17";
     7358                rLen = 0;
     7359                rLoc = 378;
     7360                rType = 0;
     7361                vrLen = 385;
     7362                vrLoc = 0;
     7363        };
     7364        E1D293F303BD418200F9204E = {
     7365                fRef = E13919E303B9E4E100000028;
     7366                isa = PBXTextBookmark;
     7367                name = "NJRIntervalField.m: 35";
     7368                rLen = 0;
     7369                rLoc = 1640;
     7370                rType = 0;
     7371                vrLen = 1494;
     7372                vrLoc = 183;
     7373        };
     7374        E1D293F403BD418200F9204E = {
     7375                fRef = F59E47B4036AAD55016B311C;
     7376                isa = PBXTextBookmark;
     7377                name = "PSAlarmAlertController.m: __VERSION__";
     7378                rLen = 0;
     7379                rLoc = 0;
     7380                rType = 0;
     7381                vrLen = 877;
     7382                vrLoc = 0;
     7383        };
     7384        E1D293F503BD418200F9204E = {
     7385                fRef = F59DC6DC0353DE5101AEEDB1;
     7386                isa = PBXTextBookmark;
     7387                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7388                rLen = 0;
     7389                rLoc = 1639;
     7390                rType = 0;
     7391                vrLen = 1613;
     7392                vrLoc = 380;
     7393        };
     7394        E1D293F703BD418200F9204E = {
     7395                fRef = F59DC6DC0353DE5101AEEDB1;
     7396                isa = PBXTextBookmark;
     7397                name = "PSAlarmNotifierController.m: 13";
     7398                rLen = 0;
     7399                rLoc = 417;
     7400                rType = 0;
     7401                vrLen = 1662;
     7402                vrLoc = 0;
     7403        };
     7404        E1D293F803BD418200F9204E = {
     7405                fRef = F59DC6DB0353DE5101AEEDB1;
     7406                isa = PBXTextBookmark;
     7407                name = "PSAlarmNotifierController.h: 12";
     7408                rLen = 0;
     7409                rLoc = 215;
     7410                rType = 0;
     7411                vrLen = 746;
     7412                vrLoc = 0;
     7413        };
     7414        E1D293F903BD418200F9204E = {
     7415                fRef = F59DC6DC0353DE5101AEEDB1;
     7416                isa = PBXTextBookmark;
     7417                name = "PSAlarmNotifierController.m: 13";
     7418                rLen = 0;
     7419                rLoc = 417;
     7420                rType = 0;
     7421                vrLen = 1135;
     7422                vrLoc = 1824;
     7423        };
     7424        E1D293FB03BD418200F9204E = {
     7425                fRef = F59DC6D30353C9E601AEEDB1;
     7426                isa = PBXTextBookmark;
     7427                name = "PSAlarmSetController.h: 16";
     7428                rLen = 0;
     7429                rLoc = 371;
     7430                rType = 0;
     7431                vrLen = 1621;
     7432                vrLoc = 0;
     7433        };
     7434        E1D293FC03BD418200F9204E = {
     7435                fRef = F59DC6DC0353DE5101AEEDB1;
     7436                isa = PBXTextBookmark;
     7437                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7438                rLen = 0;
     7439                rLoc = 1284;
     7440                rType = 0;
     7441                vrLen = 1671;
     7442                vrLoc = 410;
     7443        };
     7444        E1D293FD03BD418200F9204E = {
     7445                fRef = F59DC6DB0353DE5101AEEDB1;
     7446                isa = PBXTextBookmark;
     7447                name = "PSAlarmNotifierController.h: 12";
     7448                rLen = 0;
     7449                rLoc = 215;
     7450                rType = 0;
     7451                vrLen = 746;
     7452                vrLoc = 0;
     7453        };
     7454        E1D293FE03BD418200F9204E = {
     7455                fRef = F59DC6DC0353DE5101AEEDB1;
     7456                isa = PBXTextBookmark;
     7457                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7458                rLen = 0;
     7459                rLoc = 1284;
     7460                rType = 0;
     7461                vrLen = 1648;
     7462                vrLoc = 403;
     7463        };
     7464        E1D293FF03BD418200F9204E = {
     7465                fRef = E1D2945803BD418200F9204E;
     7466                isa = PBXTextBookmark;
     7467                name = "NSWindow.h: 2";
     7468                rLen = 8;
     7469                rLoc = 4;
     7470                rType = 0;
     7471                vrLen = 1408;
     7472                vrLoc = 0;
     7473        };
     7474        E1D2940003BD418200F9204E = {
     7475                fRef = E1D2946503BD418200F9204E;
     7476                glyphRangeLength = 1683;
     7477                glyphRangeLocation = 0;
     7478                isa = PBXDocBookmark;
     7479                name = "HowWindowIsDisplayed.html: Show Topic  ...";
     7480        };
     7481        E1D2940103BD418200F9204E = {
     7482                fRef = E1D2946603BD418200F9204E;
     7483                glyphRangeLength = 0;
     7484                glyphRangeLocation = 0;
     7485                isa = PBXDocBookmark;
     7486        };
     7487        E1D2940203BD418200F9204E = {
     7488                fRef = F59DC6DC0353DE5101AEEDB1;
     7489                isa = PBXTextBookmark;
     7490                name = "PSAlarmNotifierController.m: initWithAlarm:";
     7491                rLen = 0;
     7492                rLoc = 869;
     7493                rType = 0;
     7494                vrLen = 1661;
     7495                vrLoc = 163;
     7496        };
     7497        E1D2940303BD418200F9204E = {
     7498                fRef = F59DC6DB0353DE5101AEEDB1;
     7499                isa = PBXTextBookmark;
     7500                name = "PSAlarmNotifierController.h: 12";
     7501                rLen = 0;
     7502                rLoc = 215;
     7503                rType = 0;
     7504                vrLen = 746;
     7505                vrLoc = 0;
     7506        };
     7507        E1D2940403BD418200F9204E = {
     7508                fRef = F59DC6DC0353DE5101AEEDB1;
     7509                isa = PBXTextBookmark;
     7510                name = "PSAlarmNotifierController.m: snooze:";
     7511                rLen = 0;
     7512                rLoc = 3174;
     7513                rType = 0;
     7514                vrLen = 1134;
     7515                vrLoc = 1773;
     7516        };
     7517        E1D2940503BD418200F9204E = {
     7518                fRef = F59DC6DB0353DE5101AEEDB1;
     7519                isa = PBXTextBookmark;
     7520                name = "PSAlarmNotifierController.h: 12";
     7521                rLen = 0;
     7522                rLoc = 215;
     7523                rType = 0;
     7524                vrLen = 746;
     7525                vrLoc = 0;
     7526        };
     7527        E1D2940603BD418200F9204E = {
     7528                fRef = F59DC6DC0353DE5101AEEDB1;
     7529                isa = PBXTextBookmark;
     7530                name = "PSAlarmNotifierController.m: snooze:";
     7531                rLen = 0;
     7532                rLoc = 3174;
     7533                rType = 0;
     7534                vrLen = 1135;
     7535                vrLoc = 1773;
     7536        };
     7537        E1D2940703BD418200F9204E = {
     7538                fRef = F517D6420356B8CC016D68B9;
     7539                isa = PBXTextBookmark;
     7540                name = "PSAlarms.m: setUp";
     7541                rLen = 0;
     7542                rLoc = 1170;
     7543                rType = 0;
     7544                vrLen = 1371;
     7545                vrLoc = 0;
     7546        };
     7547        E1D2940803BD418200F9204E = {
     7548                fRef = F517D6430356B8CC016D68B9;
     7549                isa = PBXTextBookmark;
     7550                name = "PSAlarms.h: 1";
     7551                rLen = 0;
     7552                rLoc = 0;
     7553                rType = 0;
     7554                vrLen = 781;
     7555                vrLoc = 0;
     7556        };
     7557        E1D2940903BD418200F9204E = {
     7558                fRef = F59F6CB50354E7DA01AEEDB1;
     7559                isa = PBXTextBookmark;
     7560                name = "PSAlarm.m: isRepeating";
     7561                rLen = 0;
     7562                rLoc = 8825;
     7563                rType = 0;
     7564                vrLen = 928;
     7565                vrLoc = 7402;
     7566        };
     7567        E1D2940A03BD418200F9204E = {
     7568                fRef = F59F6CB40354E7DA01AEEDB1;
     7569                isa = PBXTextBookmark;
     7570                name = "PSAlarm.h: dateString";
     7571                rLen = 0;
     7572                rLoc = 1812;
     7573                rType = 0;
     7574                vrLen = 1400;
     7575                vrLoc = 580;
     7576        };
     7577        E1D2940B03BD418200F9204E = {
     7578                fRef = F59F6CB50354E7DA01AEEDB1;
     7579                isa = PBXTextBookmark;
     7580                name = "PSAlarm.m: snoozeForInterval:";
     7581                rLen = 0;
     7582                rLoc = 12935;
     7583                rType = 0;
     7584                vrLen = 1445;
     7585                vrLoc = 10153;
     7586        };
     7587        E1D2940C03BD418200F9204E = {
     7588                fRef = F59F6CB40354E7DA01AEEDB1;
     7589                isa = PBXTextBookmark;
     7590                name = "PSAlarm.h: dateString";
     7591                rLen = 0;
     7592                rLoc = 1812;
     7593                rType = 0;
     7594                vrLen = 1400;
     7595                vrLoc = 580;
     7596        };
     7597        E1D2940D03BD418200F9204E = {
     7598                fRef = F59F6CB50354E7DA01AEEDB1;
     7599                isa = PBXTextBookmark;
     7600                name = "PSAlarm.m: setMessage:";
     7601                rLen = 0;
     7602                rLoc = 6630;
     7603                rType = 0;
     7604                vrLen = 1257;
     7605                vrLoc = 5434;
     7606        };
     7607        E1D2940E03BD418200F9204E = {
     7608                fRef = F59F6CB40354E7DA01AEEDB1;
     7609                isa = PBXTextBookmark;
     7610                name = "PSAlarm.h: dateString";
     7611                rLen = 0;
     7612                rLoc = 1812;
     7613                rType = 0;
     7614                vrLen = 1400;
     7615                vrLoc = 580;
     7616        };
     7617        E1D2940F03BD418200F9204E = {
     7618                fRef = F59F6CB50354E7DA01AEEDB1;
     7619                isa = PBXTextBookmark;
     7620                name = "PSAlarm.m: setTimer";
     7621                rLen = 0;
     7622                rLoc = 11702;
     7623                rType = 0;
     7624                vrLen = 1685;
     7625                vrLoc = 9245;
     7626        };
     7627        E1D2941003BD418200F9204E = {
     7628                fRef = F59F6CB40354E7DA01AEEDB1;
     7629                isa = PBXTextBookmark;
     7630                name = "PSAlarm.h: dateString";
     7631                rLen = 0;
     7632                rLoc = 1812;
     7633                rType = 0;
     7634                vrLen = 1400;
     7635                vrLoc = 580;
     7636        };
     7637        E1D2941103BD418200F9204E = {
     7638                fRef = F59F6CB50354E7DA01AEEDB1;
     7639                isa = PBXTextBookmark;
     7640                name = "PSAlarm.m: setTimer";
     7641                rLen = 0;
     7642                rLoc = 11702;
     7643                rType = 0;
     7644                vrLen = 1291;
     7645                vrLoc = 10021;
     7646        };
     7647        E1D2941203BD418200F9204E = {
     7648                fRef = F59F6CB40354E7DA01AEEDB1;
     7649                isa = PBXTextBookmark;
     7650                name = "PSAlarm.h: 49";
     7651                rLen = 0;
     7652                rLoc = 1703;
     7653                rType = 0;
     7654                vrLen = 1400;
     7655                vrLoc = 580;
     7656        };
     7657        E1D2941303BD418200F9204E = {
     7658                fRef = F59F6CB50354E7DA01AEEDB1;
     7659                isa = PBXTextBookmark;
     7660                name = "PSAlarm.m: setTimer";
     7661                rLen = 0;
     7662                rLoc = 11702;
     7663                rType = 0;
     7664                vrLen = 1291;
     7665                vrLoc = 10021;
     7666        };
     7667        E1D2941403BD418200F9204E = {
     7668                fRef = F59F6CB40354E7DA01AEEDB1;
     7669                isa = PBXTextBookmark;
     7670                name = "PSAlarm.h: PSAlarmDate";
     7671                rLen = 0;
     7672                rLoc = 555;
     7673                rType = 0;
     7674                vrLen = 1385;
     7675                vrLoc = 0;
     7676        };
     7677        E1D2941503BD418200F9204E = {
     7678                fRef = F59F6CB50354E7DA01AEEDB1;
     7679                isa = PBXTextBookmark;
     7680                name = "PSAlarm.m: initialize";
     7681                rLen = 0;
     7682                rLoc = 6839;
     7683                rType = 0;
     7684                vrLen = 1236;
     7685                vrLoc = 5472;
     7686        };
     7687        E1D2941603BD418200F9204E = {
     7688                fRef = F59F6CB40354E7DA01AEEDB1;
     7689                isa = PBXTextBookmark;
     7690                name = "PSAlarm.h: PSAlarmDate";
     7691                rLen = 0;
     7692                rLoc = 555;
     7693                rType = 0;
     7694                vrLen = 1385;
     7695                vrLoc = 0;
     7696        };
     7697        E1D2941703BD418200F9204E = {
     7698                fRef = F59F6CB50354E7DA01AEEDB1;
     7699                isa = PBXTextBookmark;
     7700                name = "PSAlarm.m: initialize";
     7701                rLen = 0;
     7702                rLoc = 6808;
     7703                rType = 0;
     7704                vrLen = 1232;
     7705                vrLoc = 5472;
     7706        };
     7707        E1D2941803BD418200F9204E = {
     7708                fRef = F59F6CB40354E7DA01AEEDB1;
     7709                isa = PBXTextBookmark;
     7710                name = "PSAlarm.h: PSAlarmDate";
     7711                rLen = 0;
     7712                rLoc = 555;
     7713                rType = 0;
     7714                vrLen = 1385;
     7715                vrLoc = 0;
     7716        };
     7717        E1D2941903BD418200F9204E = {
     7718                fRef = F59F6CB50354E7DA01AEEDB1;
     7719                isa = PBXTextBookmark;
     7720                name = "PSAlarm.m: _beValidWithType:";
     7721                rLen = 0;
     7722                rLoc = 2669;
     7723                rType = 0;
     7724                vrLen = 1299;
     7725                vrLoc = 1589;
     7726        };
     7727        E1D2941A03BD418200F9204E = {
     7728                fRef = F59F6CB40354E7DA01AEEDB1;
     7729                isa = PBXTextBookmark;
     7730                name = "PSAlarm.h: PSAlarmDate";
     7731                rLen = 0;
     7732                rLoc = 555;
     7733                rType = 0;
     7734                vrLen = 1385;
     7735                vrLoc = 0;
     7736        };
     7737        E1D2941B03BD418200F9204E = {
     7738                fRef = F59F6CB50354E7DA01AEEDB1;
     7739                isa = PBXTextBookmark;
     7740                name = "PSAlarm.m: _beValidWithType:";
     7741                rLen = 0;
     7742                rLoc = 2669;
     7743                rType = 0;
     7744                vrLen = 1282;
     7745                vrLoc = 1589;
     7746        };
     7747        E1D2941C03BD418200F9204E = {
     7748                fRef = F59F6CB40354E7DA01AEEDB1;
     7749                isa = PBXTextBookmark;
     7750                name = "PSAlarm.h: PSAlarmDate";
     7751                rLen = 0;
     7752                rLoc = 555;
     7753                rType = 0;
     7754                vrLen = 1385;
     7755                vrLoc = 0;
     7756        };
     7757        E1D2941D03BD418200F9204E = {
     7758                fRef = F59F6CB50354E7DA01AEEDB1;
     7759                isa = PBXTextBookmark;
     7760                name = "PSAlarm.m: _beValidWithType:";
     7761                rLen = 0;
     7762                rLoc = 2696;
     7763                rType = 0;
     7764                vrLen = 1262;
     7765                vrLoc = 1589;
     7766        };
     7767        E1D2941E03BD418200F9204E = {
     7768                fRef = F59F6CB40354E7DA01AEEDB1;
     7769                isa = PBXTextBookmark;
     7770                name = "PSAlarm.h: PSAlarmDate";
     7771                rLen = 0;
     7772                rLoc = 555;
     7773                rType = 0;
     7774                vrLen = 1385;
     7775                vrLoc = 0;
     7776        };
     7777        E1D2941F03BD418200F9204E = {
     7778                fRef = F59F6CB50354E7DA01AEEDB1;
     7779                isa = PBXTextBookmark;
     7780                name = "PSAlarm.m: _alarmTypeForString:";
     7781                rLen = 0;
     7782                rLoc = 3761;
     7783                rType = 0;
     7784                vrLen = 1651;
     7785                vrLoc = 2403;
     7786        };
     7787        E1D2942003BD418200F9204E = {
     7788                fRef = F59F6CB40354E7DA01AEEDB1;
     7789                isa = PBXTextBookmark;
     7790                name = "PSAlarm.h: PSAlarmDate";
     7791                rLen = 0;
     7792                rLoc = 555;
     7793                rType = 0;
     7794                vrLen = 1385;
     7795                vrLoc = 0;
     7796        };
     7797        E1D2942103BD418200F9204E = {
     7798                fRef = F59F6CB50354E7DA01AEEDB1;
     7799                isa = PBXTextBookmark;
     7800                name = "PSAlarm.m: _stringForInterval:";
     7801                rLen = 0;
     7802                rLoc = 4295;
     7803                rType = 0;
     7804                vrLen = 1261;
     7805                vrLoc = 5809;
     7806        };
     7807        E1D2942203BD418200F9204E = {
     7808                fRef = F59F6CB40354E7DA01AEEDB1;
     7809                isa = PBXTextBookmark;
     7810                name = "PSAlarm.h: PSAlarmDate";
     7811                rLen = 0;
     7812                rLoc = 555;
     7813                rType = 0;
     7814                vrLen = 1385;
     7815                vrLoc = 0;
     7816        };
     7817        E1D2942303BD418200F9204E = {
     7818                fRef = F59F6CB50354E7DA01AEEDB1;
     7819                isa = PBXTextBookmark;
     7820                name = "PSAlarm.m: setRepeating:";
     7821                rLen = 0;
     7822                rLoc = 8558;
     7823                rType = 0;
     7824                vrLen = 1196;
     7825                vrLoc = 7297;
     7826        };
     7827        E1D2942403BD418200F9204E = {
     7828                fRef = F59F6CB40354E7DA01AEEDB1;
     7829                isa = PBXTextBookmark;
     7830                name = "PSAlarm.h: 49";
     7831                rLen = 0;
     7832                rLoc = 1810;
     7833                rType = 0;
     7834                vrLen = 1506;
     7835                vrLoc = 31;
     7836        };
     7837        E1D2942503BD418200F9204E = {
     7838                fRef = F59F6CB50354E7DA01AEEDB1;
     7839                isa = PBXTextBookmark;
     7840                name = "PSAlarm.m: setRepeating:";
     7841                rLen = 0;
     7842                rLoc = 8558;
     7843                rType = 0;
     7844                vrLen = 1196;
     7845                vrLoc = 7297;
     7846        };
     7847        E1D2942603BD418200F9204E = {
     7848                fRef = F59F6CB40354E7DA01AEEDB1;
     7849                isa = PBXTextBookmark;
     7850                name = "PSAlarm.h: 49";
     7851                rLen = 0;
     7852                rLoc = 1810;
     7853                rType = 0;
     7854                vrLen = 1506;
     7855                vrLoc = 31;
     7856        };
     7857        E1D2942703BD418200F9204E = {
     7858                fRef = F59F6CB50354E7DA01AEEDB1;
     7859                isa = PBXTextBookmark;
     7860                name = "PSAlarm.m: setRepeating:";
     7861                rLen = 0;
     7862                rLoc = 8557;
     7863                rType = 0;
     7864                vrLen = 1197;
     7865                vrLoc = 7297;
     7866        };
     7867        E1D2942803BD418200F9204E = {
     7868                fRef = F59F6CB40354E7DA01AEEDB1;
     7869                isa = PBXTextBookmark;
     7870                name = "PSAlarm.h: 49";
     7871                rLen = 0;
     7872                rLoc = 1810;
     7873                rType = 0;
     7874                vrLen = 1506;
     7875                vrLoc = 31;
     7876        };
     7877        E1D2942903BD418200F9204E = {
     7878                fRef = F59F6CB50354E7DA01AEEDB1;
     7879                isa = PBXTextBookmark;
     7880                name = "PSAlarm.m: setTimer";
     7881                rLen = 0;
     7882                rLoc = 11727;
     7883                rType = 0;
     7884                vrLen = 1586;
     7885                vrLoc = 9868;
     7886        };
     7887        E1D2942A03BD418200F9204E = {
     7888                fRef = F59F6CB40354E7DA01AEEDB1;
     7889                isa = PBXTextBookmark;
     7890                name = "PSAlarm.h: snoozeInterval";
     7891                rLen = 0;
     7892                rLoc = 1810;
     7893                rType = 0;
     7894                vrLen = 1506;
     7895                vrLoc = 31;
     7896        };
     7897        E1D2942B03BD418200F9204E = {
     7898                fRef = F59F6CB50354E7DA01AEEDB1;
     7899                isa = PBXTextBookmark;
     7900                name = "PSAlarm.m: timeRemaining";
     7901                rLen = 0;
     7902                rLoc = 8524;
     7903                rType = 0;
     7904                vrLen = 1213;
     7905                vrLoc = 7392;
     7906        };
     7907        E1D2942C03BD418200F9204E = {
     7908                fRef = F59DC6DC0353DE5101AEEDB1;
     7909                isa = PBXTextBookmark;
     7910                name = "PSAlarmNotifierController.m: snooze:";
     7911                rLen = 0;
     7912                rLoc = 3041;
     7913                rType = 0;
     7914                vrLen = 1191;
     7915                vrLoc = 2049;
     7916        };
     7917        E1D2942D03BD418200F9204E = {
     7918                fRef = F59DC6DB0353DE5101AEEDB1;
     7919                isa = PBXTextBookmark;
     7920                name = "PSAlarmNotifierController.h: 12";
     7921                rLen = 0;
     7922                rLoc = 215;
     7923                rType = 0;
     7924                vrLen = 746;
     7925                vrLoc = 0;
     7926        };
     7927        E1D2942E03BD418200F9204E = {
     7928                fRef = F59DC6DC0353DE5101AEEDB1;
     7929                isa = PBXTextBookmark;
     7930                name = "PSAlarmNotifierController.m: snooze:";
     7931                rLen = 0;
     7932                rLoc = 3199;
     7933                rType = 0;
     7934                vrLen = 1220;
     7935                vrLoc = 2049;
     7936        };
     7937        E1D2942F03BD418200F9204E = {
     7938                fRef = F59E47B4036AAD55016B311C;
     7939                isa = PBXTextBookmark;
     7940                name = "PSAlarmAlertController.m: __VERSION__";
     7941                rLen = 0;
     7942                rLoc = 0;
     7943                rType = 0;
     7944                vrLen = 877;
     7945                vrLoc = 0;
     7946        };
     7947        E1D2943003BD418200F9204E = {
     7948                fRef = E1A18CAC03B4344C00000028;
     7949                isa = PBXTextBookmark;
     7950                name = "PSAlerts.m: __WCHAR_TYPE__";
     7951                rLen = 0;
     7952                rLoc = 144;
     7953                rType = 0;
     7954                vrLen = 944;
     7955                vrLoc = 0;
     7956        };
     7957        E1D2943103BD418200F9204E = {
     7958                fRef = F59E47B4036AAD55016B311C;
     7959                isa = PBXTextBookmark;
     7960                name = "PSAlarmAlertController.m: stopAlerts:";
     7961                rLen = 0;
     7962                rLoc = 1675;
     7963                rType = 0;
     7964                vrLen = 945;
     7965                vrLoc = 0;
     7966        };
     7967        E1D2943203BD418200F9204E = {
     7968                fRef = F59F6CB50354E7DA01AEEDB1;
     7969                isa = PBXTextBookmark;
     7970                name = "PSAlarm.m: isValid";
     7971                rLen = 0;
     7972                rLoc = 7385;
     7973                rType = 0;
     7974                vrLen = 1118;
     7975                vrLoc = 6426;
     7976        };
     7977        E1D2943303BD418200F9204E = {
     7978                fRef = F59F6CB40354E7DA01AEEDB1;
     7979                isa = PBXTextBookmark;
     7980                name = "PSAlarm.h: snoozeInterval";
     7981                rLen = 0;
     7982                rLoc = 1810;
     7983                rType = 0;
     7984                vrLen = 1506;
     7985                vrLoc = 31;
     7986        };
     7987        E1D2943403BD418200F9204E = {
     7988                fRef = F59F6CB50354E7DA01AEEDB1;
     7989                isa = PBXTextBookmark;
     7990                name = "PSAlarm.m: isValid";
     7991                rLen = 0;
     7992                rLoc = 7385;
     7993                rType = 0;
     7994                vrLen = 1134;
     7995                vrLoc = 6426;
     7996        };
     7997        E1D2943503BD418200F9204E = {
     7998                fRef = F59F6CB40354E7DA01AEEDB1;
     7999                isa = PBXTextBookmark;
     8000                name = "PSAlarm.h: snoozeInterval";
     8001                rLen = 0;
     8002                rLoc = 1810;
     8003                rType = 0;
     8004                vrLen = 1506;
     8005                vrLoc = 31;
     8006        };
     8007        E1D2943603BD418200F9204E = {
     8008                fRef = F59F6CB50354E7DA01AEEDB1;
     8009                isa = PBXTextBookmark;
     8010                name = "PSAlarm.m: isValid";
     8011                rLen = 0;
     8012                rLoc = 7385;
     8013                rType = 0;
     8014                vrLen = 1134;
     8015                vrLoc = 6426;
     8016        };
     8017        E1D2943703BD418200F9204E = {
     8018                fRef = F59F6CB40354E7DA01AEEDB1;
     8019                isa = PBXTextBookmark;
     8020                name = "PSAlarm.h: snoozeInterval";
     8021                rLen = 0;
     8022                rLoc = 1810;
     8023                rType = 0;
     8024                vrLen = 1506;
     8025                vrLoc = 31;
     8026        };
     8027        E1D2943803BD418200F9204E = {
     8028                fRef = F59F6CB50354E7DA01AEEDB1;
     8029                isa = PBXTextBookmark;
     8030                name = "PSAlarm.m: initWithPropertyList:";
     8031                rLen = 0;
     8032                rLoc = 16506;
     8033                rType = 0;
     8034                vrLen = 1655;
     8035                vrLoc = 13846;
     8036        };
     8037        E1D2943903BD418200F9204E = {
     8038                fRef = F59DC6DC0353DE5101AEEDB1;
     8039                isa = PBXTextBookmark;
     8040                name = "PSAlarmNotifierController.m: 78";
     8041                rLen = 0;
     8042                rLoc = 2730;
     8043                rType = 0;
     8044                vrLen = 1220;
     8045                vrLoc = 2049;
     8046        };
     8047        E1D2945803BD418200F9204E = {
     8048                isa = PBXFileReference;
     8049                name = NSWindow.h;
     8050                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindow.h;
     8051                refType = 0;
     8052        };
     8053        E1D2945A03BD418200F9204E = {
     8054                isa = PBXFileReference;
     8055                name = NSButton.h;
     8056                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSButton.h;
     8057                refType = 0;
     8058        };
     8059        E1D2945C03BD418200F9204E = {
     8060                isa = PBXFileReference;
     8061                name = index.html;
     8062                path = /Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/Timers/index.html;
     8063                refType = 0;
     8064        };
     8065        E1D2945D03BD418200F9204E = {
     8066                isa = PBXFileReference;
     8067                name = NSTimer.html;
     8068                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Resources/English.lproj/Documentation/Reference/ObjC_classic/Classes/NSTimer.html;
     8069                refType = 0;
     8070        };
     8071        E1D2945F03BD418200F9204E = {
     8072                isa = PBXFileReference;
     8073                name = NSWindowController.h;
     8074                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindowController.h;
     8075                refType = 0;
     8076        };
     8077        E1D2946003BD418200F9204E = {
     8078                isa = PBXFileReference;
     8079                name = NSWindow.h;
     8080                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSWindow.h;
     8081                refType = 0;
     8082        };
     8083        E1D2946103BD418200F9204E = {
     8084                isa = PBXFileReference;
     8085                name = iHowWindowIsDisplayed.html;
     8086                path = /Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/WinPanel/iHowWindowIsDisplayed.html;
     8087                refType = 0;
     8088        };
     8089        E1D2946203BD418200F9204E = {
     8090                isa = PBXFileReference;
     8091                name = HowWindowIsDisplayed.html;
     8092                path = /Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/WinPanel/Concepts/HowWindowIsDisplayed.html;
     8093                refType = 0;
     8094        };
     8095        E1D2946303BD418200F9204E = {
     8096                isa = PBXFileReference;
     8097                name = NSTimer.h;
     8098                path = /System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSTimer.h;
     8099                refType = 0;
     8100        };
     8101        E1D2946503BD418200F9204E = {
     8102                isa = PBXFileReference;
     8103                name = HowWindowIsDisplayed.html;
     8104                path = /Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/WinPanel/Concepts/HowWindowIsDisplayed.html;
     8105                refType = 0;
     8106        };
     8107        E1D2946603BD418200F9204E = {
     8108                isa = PBXFileReference;
     8109                name = iHowWindowIsDisplayed.html;
     8110                path = /Developer/Documentation/Cocoa/TasksAndConcepts/ProgrammingTopics/WinPanel/iHowWindowIsDisplayed.html;
     8111                refType = 0;
     8112        };
     8113        E1D2946703BD418200F9204E = {
     8114                isa = PBXFileReference;
     8115                name = NSButton.h;
     8116                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSButton.h;
     8117                refType = 0;
     8118        };
     8119        E1D2946803BD418200F9204E = {
     8120                isa = PBXFileReference;
     8121                name = NSControl.h;
     8122                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSControl.h;
     8123                refType = 0;
     8124        };
     8125        E1D2946903BD418200F9204E = {
     8126                isa = PBXFileReference;
     8127                name = NSControl.h;
     8128                path = /System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSControl.h;
     8129                refType = 0;
     8130        };
     8131        E1ECA00A03C003C300F54C66 = {
     8132                fRef = E1ECA00603C002B300F54C66;
     8133                isa = PBXTextBookmark;
     8134                name = "PSException.h: 15";
     8135                rLen = 0;
     8136                rLoc = 379;
     8137                rType = 0;
     8138                vrLen = 254;
     8139                vrLoc = 0;
     8140        };
     8141        E1ECA00B03C0056B00F54C66 = {
     8142                fRef = E1A18CAB03B4344C00000028;
     8143                isa = PBXTextBookmark;
     8144                name = "PSAlerts.h: 1";
     8145                rLen = 0;
     8146                rLoc = 0;
     8147                rType = 0;
     8148                vrLen = 585;
     8149                vrLoc = 0;
     8150        };
    13958151        F500E5370359719B01AEEDB1 = {
    13968152                isa = PBXSymbolicBreakpoint;
     
    13988154                symbolName = szone_error;
    13998155        };
    1400         F515C769037DFB63018DB5B3 = {
    1401                 fRef = F5F240B6036A862101FE7503;
    1402                 isa = PBXTextBookmark;
    1403                 name = "NJRFSObjectSelector.h: 13";
    1404                 rLen = 0;
    1405                 rLoc = 247;
    1406                 rType = 0;
    1407                 vrLen = 653;
    1408                 vrLoc = 0;
    1409         };
    1410         F515C76A037E01E1018DB5B3 = {
    1411                 fRef = F59DC6D40353C9E601AEEDB1;
    1412                 isa = PBXTextBookmark;
    1413                 name = "PSAlarmSetController.m: inAtChanged:";
    1414                 rLen = 0;
    1415                 rLoc = 8686;
    1416                 rType = 0;
    1417                 vrLen = 1674;
    1418                 vrLoc = 7871;
    1419         };
    1420         F517D63D0356AC88016D68B9 = {
    1421                 fRef = F59F6CB50354E7DA01AEEDB1;
    1422                 isa = PBXTextBookmark;
    1423                 name = "PSAlarm.m: scheduledTimerWithTarget:selector:";
    1424                 rLen = 0;
    1425                 rLoc = 8289;
    1426                 rType = 0;
    1427                 vrLen = 822;
    1428                 vrLoc = 4232;
    1429         };
    1430         F560E2F5035750C101A4E466 = {
    1431                 fRef = F560E2F10357506401A4E466;
    1432                 isa = PBXTextBookmark;
    1433                 name = "PSApplication.m: 16";
    1434                 rLen = 0;
    1435                 rLoc = 1510;
    1436                 rType = 0;
    1437                 vrLen = 296;
    1438                 vrLoc = 0;
    1439         };
    1440         F560E2F80357779E01A4E466 = {
    1441                 fRef = F517D6420356B8CC016D68B9;
    1442                 isa = PBXTextBookmark;
    1443                 name = "PSAlarms.m: allAlarms";
    1444                 rLen = 0;
    1445                 rLoc = 943;
    1446                 rType = 0;
    1447                 vrLen = 916;
    1448                 vrLoc = 0;
    1449         };
    1450         F560E2FB035786FE01A4E466 = {
    1451                 fRef = F517D63E0356B80C016D68B9;
    1452                 isa = PBXTextBookmark;
    1453                 name = "PSAlarmsController.m: numberOfRowsInTableView:";
    1454                 rLen = 0;
    1455                 rLoc = 1925;
    1456                 rType = 0;
    1457                 vrLen = 1085;
    1458                 vrLoc = 0;
    1459         };
    1460         F562F80B037E5D2101AEEDB1 = {
    1461                 fRef = F59DC6FD0354188F01AEEDB1;
    1462                 isa = PBXTextBookmark;
    1463                 name = "NJRDateFormatter.m: initWithDateFormat:allowNaturalLanguage:";
    1464                 rLen = 0;
    1465                 rLoc = 6368;
    1466                 rType = 0;
    1467                 vrLen = 2132;
    1468                 vrLoc = 5663;
    1469         };
    14708156        F596730D0355CFA301407038 = {
    14718157                isa = PBXSymbolicBreakpoint;
     
    14758161        F59B967103538BE201154278 = {
    14768162                activeArgIndex = 2147483647;
     8163                activeArgIndices = (
     8164                );
    14778165                argumentStrings = (
    14788166                );
     8167                configStateDict = {
     8168                };
    14798169                debuggerPlugin = GDBDebugging;
    14808170                dylibVariantSuffix = "";
     
    14948184                );
    14958185        };
    1496         F59DC6D20353C43201AEEDB1 = {
    1497                 children = (
    1498                         F59DC6D70353CA6401AEEDB1,
    1499                         F59DC6D90353D35201AEEDB1,
    1500                         F59DC6DA0353D72901AEEDB1,
    1501                         F59DC6E20353E0EB01AEEDB1,
    1502                         F517D63D0356AC88016D68B9,
    1503                         F560E2F5035750C101A4E466,
    1504                         F560E2F80357779E01A4E466,
    1505                         F560E2FB035786FE01A4E466,
    1506                         F5F19881036B90CD01EB0372,
    1507                         F5F19882036B930001EB0372,
    1508                         F515C769037DFB63018DB5B3,
    1509                         F515C76A037E01E1018DB5B3,
    1510                         F5B79835035F3A180136A8DD,
    1511                         F5B7983A035F65070136A8DD,
    1512                 );
    1513                 isa = PBXBookmarkGroup;
    1514                 name = Root;
    1515         };
    1516         F59DC6D70353CA6401AEEDB1 = {
    1517                 fRef = F59DC6D40353C9E601AEEDB1;
    1518                 isa = PBXTextBookmark;
    1519                 name = "PSAlarmSetController.m: 16";
    1520                 rLen = 0;
    1521                 rLoc = 4984;
    1522                 rType = 0;
    1523                 vrLen = 291;
    1524                 vrLoc = 0;
    1525         };
    1526         F59DC6D90353D35201AEEDB1 = {
    1527                 fRef = F59DC6D40353C9E601AEEDB1;
    1528                 isa = PBXTextBookmark;
    1529                 name = "PSAlarmSetController.m: inAtChanged:";
    1530                 rLen = 36;
    1531                 rLoc = 8591;
    1532                 rType = 0;
    1533                 vrLen = 478;
    1534                 vrLoc = 416;
    1535         };
    1536         F59DC6DA0353D72901AEEDB1 = {
    1537                 fRef = F59DC6D30353C9E601AEEDB1;
    1538                 isa = PBXTextBookmark;
    1539                 name = "PSAlarmSetController.h: 25";
    1540                 rLen = 0;
    1541                 rLoc = 1439;
    1542                 rType = 0;
    1543                 vrLen = 758;
    1544                 vrLoc = 0;
    1545         };
    1546         F59DC6E20353E0EB01AEEDB1 = {
    1547                 fRef = F59DC6D30353C9E601AEEDB1;
    1548                 isa = PBXTextBookmark;
    1549                 name = "PSAlarmSetController.h: 31";
    1550                 rLen = 0;
    1551                 rLoc = 1800;
    1552                 rType = 0;
    1553                 vrLen = 826;
    1554                 vrLoc = 0;
    1555         };
    15568186        F5B15F74037E42EB01AEEDB1 = {
    15578187                isa = PBXSymbolicBreakpoint;
     
    15598189                symbolName = "-[NSException raise]";
    15608190        };
    1561         F5B163A5037E543A01AEEDB1 = {
    1562                 fRef = F59DC6FD0354188F01AEEDB1;
    1563                 isa = PBXTextBookmark;
    1564                 name = "NJRDateFormatter.m: format:withoutComponent:";
    1565                 rLen = 0;
    1566                 rLoc = 829;
    1567                 rType = 0;
    1568                 vrLen = 2132;
    1569                 vrLoc = 5663;
    1570         };
    1571         F5B79835035F3A180136A8DD = {
    1572                 fRef = F517D63E0356B80C016D68B9;
    1573                 isa = PBXTextBookmark;
    1574                 name = "PSAlarmsController.m: alarmsChanged";
    1575                 rLen = 0;
    1576                 rLoc = 384;
    1577                 rType = 0;
    1578                 vrLen = 989;
    1579                 vrLoc = 1167;
    1580         };
    1581         F5B7983A035F65070136A8DD = {
    1582                 fRef = F5B79836035F64F80136A8DD;
    1583                 isa = PBXTextBookmark;
    1584                 name = "NJRTableView.m: 1";
    1585                 rLen = 0;
    1586                 rLoc = 0;
    1587                 rType = 0;
    1588                 vrLen = 215;
    1589                 vrLoc = 0;
    1590         };
    1591         F5F19881036B90CD01EB0372 = {
    1592                 fRef = F59DC6D40353C9E601AEEDB1;
    1593                 isa = PBXTextBookmark;
    1594                 name = "PSAlarmSetController.m: setAlarm:";
    1595                 rLen = 0;
    1596                 rLoc = 12184;
    1597                 rType = 0;
    1598                 vrLen = 1431;
    1599                 vrLoc = 8406;
    1600         };
    1601         F5F19882036B930001EB0372 = {
    1602                 fRef = F59DC6D30353C9E601AEEDB1;
    1603                 isa = PBXTextBookmark;
    1604                 name = "PSAlarmSetController.h: 14";
    1605                 rLen = 0;
    1606                 rLoc = 278;
    1607                 rType = 0;
    1608                 vrLen = 1330;
    1609                 vrLoc = 385;
    1610         };
    16118191}
  • trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj

    r51 r53  
    1515                                F560E312035787E001A4E466,
    1616                                F560E313035787ED01A4E466,
     17                                E162698703B6189D00000028,
    1718                        );
    1819                        isa = PBXGroup;
     
    5152                                F5F24187036A90D901FE7503,
    5253                                F59E4BEA036B33EC016B311C,
     54                                E14DB31203B8038300000028,
    5355                        );
    5456                        isa = PBXGroup;
     
    105107                        children = (
    106108                                17587328FF379C6511CA2CBB,
     109                                F562F809037E5D0101AEEDB1,
    107110                        );
    108111                        isa = PBXGroup;
     
    125128                                4A9504CDFFE6A4B311CA0CBA,
    126129                        );
     130                        hasScannedForEncodings = 1;
    127131                        isa = PBXProject;
    128132                        mainGroup = 29B97314FDCFA39411CA2CEA;
     
    136140                                080E96DDFE201D6D7F000001,
    137141                                29B97315FDCFA39411CA2CEA,
     142                                E19DCBE503BE516000B934BF,
    138143                                29B97317FDCFA39411CA2CEA,
    139144                                29B97323FDCFA39411CA2CEA,
     
    147152                29B97315FDCFA39411CA2CEA = {
    148153                        children = (
     154                                E19DCBD203BE4AA200B934BF,
    149155                                29B97316FDCFA39411CA2CEA,
    150156                        );
     
    155161                };
    156162                29B97316FDCFA39411CA2CEA = {
     163                        fileEncoding = 30;
    157164                        isa = PBXFileReference;
    158165                        path = main.m;
     
    168175                                089C165CFE840E0CC02AAC07,
    169176                                F59DD44F0358ABF4017318D0,
    170                                 F589C9C6035AA12B0155F4B2,
    171177                                F59DC6E30353ED1201AEEDB1,
    172                                 F562F809037E5D0101AEEDB1,
    173178                        );
    174179                        isa = PBXGroup;
     
    196201                                1058C7A0FEA54F0111CA2CBB,
    197202                                1058C7A2FEA54F0111CA2CBB,
     203                                E162698803B618BD00000028,
    198204                        );
    199205                        isa = PBXGroup;
     
    220226                                29B9732BFDCFA39411CA2CEA,
    221227                                29B9732DFDCFA39411CA2CEA,
     228                                E130B9A903B7AEED00000028,
    222229                        );
    223230                        buildSettings = {
     231                                CURRENT_PROJECT_VERSION = 5;
    224232                                FRAMEWORK_SEARCH_PATHS = "\"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"";
    225233                                HEADER_SEARCH_PATHS = "";
    226234                                INSTALL_PATH = /;
     235                                JAVA_COMPILER_DEBUGGING_SYMBOLS = NO;
    227236                                LIBRARY_SEARCH_PATHS = "";
    228237                                OTHER_CFLAGS = "";
     238                                PRECOMPILE_PREFIX_HEADER = YES;
     239                                PREFIX_HEADER = Pester_Prefix.h;
    229240                                PRODUCT_NAME = Pester;
     241                                PRODUCT_VERSION = 1.1a4;
    230242                                SECTORDER_FLAGS = "";
    231243                                USE_GCC3_PFE_SUPPORT = YES;
     244                                VERSIONING_SYSTEM = "apple-generic";
    232245                                WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
    233246                                WRAPPER_EXTENSION = app;
     
    241254                        productReference = 17587328FF379C6511CA2CBB;
    242255                        productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    243 <!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
    244 <plist version=\"0.9\">
     256<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
     257<plist version=\"1.0\">
    245258<dict>
    246259        <key>CFBundleDevelopmentRegion</key>
     
    249262        <string>Pester</string>
    250263        <key>CFBundleGetInfoString</key>
    251         <string>Pester 1.1a3, © 2002 Nicholas Riley</string>
     264        <string>Pester 1.1a5, © 2002 Nicholas Riley</string>
    252265        <key>CFBundleIconFile</key>
    253266        <string>Application icon</string>
     
    261274        <string>APPL</string>
    262275        <key>CFBundleShortVersionString</key>
    263         <string>1.1a3</string>
     276        <string>1.1a5</string>
    264277        <key>CFBundleSignature</key>
    265278        <string>Pstr</string>
    266279        <key>CFBundleVersion</key>
    267         <string>1.1a3</string>
     280        <string>5</string>
    268281        <key>NSMainNibFile</key>
    269282        <string>MainMenu</string>
     
    273286</plist>
    274287";
    275                         shouldUseHeadermap = 1;
    276288                };
    277289                29B97327FDCFA39411CA2CEA = {
    278290                        buildActionMask = 2147483647;
    279291                        files = (
     292                                E19DCBD303BE4AA200B934BF,
     293                                F5F240BA036A867901FE7503,
     294                                F59DC6FE0354188F01AEEDB1,
     295                                F5F240B7036A862301FE7503,
     296                                F560E3170357895001A4E466,
     297                                F59DC6EB0353F58B01AEEDB1,
     298                                F515C768037DFB56018DB5B3,
     299                                F552A8AD0358E8B201AEEDB1,
     300                                F5F198D3036BE57401EB0372,
     301                                F5B79839035F64F80136A8DD,
     302                                E1F0B14C03AD8CEF00AEFBE0,
     303                                F5F19873036B822E01EB0372,
     304                                E1F0B26A03AEDE8600AEFBE0,
     305                                E162698B03B6190B00000028,
     306                                F5B79868038865B30136A8DD,
     307                                F5EE8DBC038A76AC0134BEAC,
     308                                E191700C03AD24A700AEFBE0,
     309                                F5F19910036D3B3101EB0372,
     310                                F59E4C10036B43D2016B311C,
     311                                E1F0B15003ADBE3800AEFBE0,
     312                                E162698603B6189000000028,
     313                                F59F6CB60354E7DA01AEEDB1,
     314                                F59E47B7036AAD55016B311C,
     315                                F59DC6DD0353DE5101AEEDB1,
    280316                                F59DC6D50353C9E601AEEDB1,
    281                                 F59DC6DD0353DE5101AEEDB1,
    282                                 F59DC6EB0353F58B01AEEDB1,
    283                                 F59DC6FE0354188F01AEEDB1,
    284                                 F59F6CB60354E7DA01AEEDB1,
     317                                F517D6450356B8CC016D68B9,
    285318                                F517D6410356B80C016D68B9,
    286                                 F517D6450356B8CC016D68B9,
     319                                F59E47AA036AAA6D016B311C,
     320                                E1A18CAD03B4344C00000028,
    287321                                F560E2F40357506501A4E466,
    288                                 F560E310035787BC01A4E466,
    289                                 F560E3170357895001A4E466,
    290                                 F552A8AD0358E8B201AEEDB1,
    291                                 F5F240B7036A862301FE7503,
    292                                 F5F240BA036A867901FE7503,
    293                                 F5F2418B036A910B01FE7503,
    294                                 F59E479E036AA5E9016B311C,
    295                                 F59E47A1036AA5E9016B311C,
    296                                 F59E47A2036AA5E9016B311C,
    297                                 F59E47A3036AA5E9016B311C,
    298                                 F59E47A4036AA5E9016B311C,
    299                                 F59E47AA036AAA6D016B311C,
    300322                                F59E47AE036AAC1E016B311C,
    301                                 F59E47B3036AACD1016B311C,
    302                                 F59E47B7036AAD55016B311C,
    303323                                F59E47BB036AB217016B311C,
    304324                                F59E47BF036AB228016B311C,
    305325                                F59E47C3036B1ADD016B311C,
     326                                F59E47B3036AACD1016B311C,
     327                                E1A18CB403B439CF00000028,
    306328                                F59E4BE9036B2E5E016B311C,
    307                                 F59E4C10036B43D2016B311C,
     329                                F5F1986F036B813101EB0372,
    308330                                F5F19868036B80AF01EB0372,
    309                                 F5F1986F036B813101EB0372,
    310                                 F5F19873036B822E01EB0372,
    311                                 F5F198D3036BE57401EB0372,
    312                                 F5F19910036D3B3101EB0372,
    313                                 F515C768037DFB56018DB5B3,
    314                                 F5B79839035F64F80136A8DD,
    315                                 F5B79868038865B30136A8DD,
     331                                F5F2418B036A910B01FE7503,
     332                                E130B9AE03B7C59700000028,
     333                                E13919E403B9E4E100000028,
     334                                E1ECA00803C002B300F54C66,
    316335                        );
    317336                        isa = PBXHeadersBuildPhase;
     337                        runOnlyForDeploymentPostprocessing = 0;
    318338                };
    319339                29B97328FDCFA39411CA2CEA = {
     
    331351                        );
    332352                        isa = PBXResourcesBuildPhase;
     353                        runOnlyForDeploymentPostprocessing = 0;
    333354                };
    334355                29B9732BFDCFA39411CA2CEA = {
    335356                        buildActionMask = 2147483647;
    336357                        files = (
    337                                 29B9732CFDCFA39411CA2CEA,
     358                                F5F240CB036A869401FE7503,
     359                                F59DC6FF0354188F01AEEDB1,
     360                                F5F240B8036A862301FE7503,
     361                                F560E3180357895001A4E466,
     362                                F59DC6EA0353F58B01AEEDB1,
     363                                F5F240CE036A877301FE7503,
     364                                F552A8AE0358E8B201AEEDB1,
     365                                F5F198D2036BE57401EB0372,
     366                                F5B79838035F64F80136A8DD,
     367                                E1F0B14D03AD8CEF00AEFBE0,
     368                                F5F19872036B822E01EB0372,
     369                                E1F0B26B03AEDE8600AEFBE0,
     370                                E14AFB7703B620FE00000028,
     371                                F5B79867038865B30136A8DD,
     372                                F5EE8DBB038A76AC0134BEAC,
     373                                F5F1990F036D3B3101EB0372,
     374                                F59E4C0F036B43D2016B311C,
     375                                E1F0B15103ADBE3800AEFBE0,
     376                                E162698503B6189000000028,
     377                                F59F6CB70354E7DA01AEEDB1,
     378                                F59E47B6036AAD55016B311C,
     379                                F59DC6DE0353DE5101AEEDB1,
    338380                                F59DC6D60353C9E601AEEDB1,
    339                                 F59DC6DE0353DE5101AEEDB1,
    340                                 F59DC6EA0353F58B01AEEDB1,
    341                                 F59DC6FF0354188F01AEEDB1,
    342                                 F59F6CB70354E7DA01AEEDB1,
     381                                F517D6440356B8CC016D68B9,
    343382                                F517D6400356B80C016D68B9,
    344                                 F517D6440356B8CC016D68B9,
     383                                F59E47A9036AAA6D016B311C,
     384                                E1A18CAE03B4344C00000028,
    345385                                F560E2F30357506401A4E466,
    346                                 F560E30F035787BC01A4E466,
    347                                 F560E3180357895001A4E466,
    348                                 F552A8AE0358E8B201AEEDB1,
    349                                 F5F240B8036A862301FE7503,
    350                                 F5F240CB036A869401FE7503,
    351                                 F5F240CE036A877301FE7503,
    352                                 F59E479C036AA5E9016B311C,
    353                                 F59E479D036AA5E9016B311C,
    354                                 F59E479F036AA5E9016B311C,
    355                                 F59E47A0036AA5E9016B311C,
    356                                 F59E47A9036AAA6D016B311C,
    357386                                F59E47AD036AAC1E016B311C,
    358                                 F59E47B2036AACD1016B311C,
    359                                 F59E47B6036AAD55016B311C,
    360387                                F59E47BA036AB217016B311C,
    361388                                F59E47BE036AB228016B311C,
    362389                                F59E47C2036B1ADD016B311C,
     390                                F59E47B2036AACD1016B311C,
     391                                E1271F040000012300000028,
    363392                                F59E4BE8036B2E5E016B311C,
    364                                 F59E4C0F036B43D2016B311C,
     393                                E1A18CB103B439AD00000028,
    365394                                F5F19869036B80AF01EB0372,
    366                                 F5F1986E036B813101EB0372,
    367                                 F5F19872036B822E01EB0372,
    368                                 F5F198D2036BE57401EB0372,
    369                                 F5F198DB036BE75E01EB0372,
    370                                 F5F1990F036D3B3101EB0372,
    371                                 F5B79838035F64F80136A8DD,
    372                                 F5B79867038865B30136A8DD,
     395                                29B9732CFDCFA39411CA2CEA,
     396                                E13919E503B9E4E100000028,
     397                                E1ECA00903C002B300F54C66,
    373398                        );
    374399                        isa = PBXSourcesBuildPhase;
     400                        runOnlyForDeploymentPostprocessing = 0;
    375401                };
    376402                29B9732CFDCFA39411CA2CEA = {
     
    389415                                F5F24189036A90D901FE7503,
    390416                                F59E4C0C036B33EC016B311C,
     417                                E14DB31303B8038300000028,
    391418                        );
    392419                        isa = PBXFrameworksBuildPhase;
     420                        runOnlyForDeploymentPostprocessing = 0;
    393421                };
    394422//290
     
    426454//4A3
    427455//4A4
     456//E10
     457//E11
     458//E12
     459//E13
     460//E14
     461                E1271F040000012300000028 = {
     462                        fileRef = E130B9AD03B7C59700000028;
     463                        isa = PBXBuildFile;
     464                        settings = {
     465                        };
     466                };
     467                E130B9A903B7AEED00000028 = {
     468                        buildActionMask = 2147483647;
     469                        files = (
     470                        );
     471                        generatedFileNames = (
     472                        );
     473                        isa = PBXShellScriptBuildPhase;
     474                        neededFileNames = (
     475                        );
     476                        runOnlyForDeploymentPostprocessing = 0;
     477                        shellPath = /bin/sh;
     478                        shellScript = "/Developer/Tools/agvtool mvers -terse >| ${SRCROOT}/VERSION";
     479                };
     480                E130B9AC03B7C59700000028 = {
     481                        fileEncoding = 4;
     482                        isa = PBXFileReference;
     483                        path = PSPowerManager.h;
     484                        refType = 4;
     485                };
     486                E130B9AD03B7C59700000028 = {
     487                        fileEncoding = 4;
     488                        isa = PBXFileReference;
     489                        path = PSPowerManager.m;
     490                        refType = 4;
     491                };
     492                E130B9AE03B7C59700000028 = {
     493                        fileRef = E130B9AC03B7C59700000028;
     494                        isa = PBXBuildFile;
     495                        settings = {
     496                        };
     497                };
     498                E13919E203B9E4E100000028 = {
     499                        fileEncoding = 4;
     500                        isa = PBXFileReference;
     501                        path = NJRIntervalField.h;
     502                        refType = 4;
     503                };
     504                E13919E303B9E4E100000028 = {
     505                        fileEncoding = 30;
     506                        isa = PBXFileReference;
     507                        path = NJRIntervalField.m;
     508                        refType = 4;
     509                };
     510                E13919E403B9E4E100000028 = {
     511                        fileRef = E13919E203B9E4E100000028;
     512                        isa = PBXBuildFile;
     513                        settings = {
     514                        };
     515                };
     516                E13919E503B9E4E100000028 = {
     517                        fileRef = E13919E303B9E4E100000028;
     518                        isa = PBXBuildFile;
     519                        settings = {
     520                        };
     521                };
     522                E14AFB7703B620FE00000028 = {
     523                        fileRef = E162698A03B6190B00000028;
     524                        isa = PBXBuildFile;
     525                        settings = {
     526                        };
     527                };
     528                E14DB31203B8038300000028 = {
     529                        isa = PBXFrameworkReference;
     530                        name = IOKit.framework;
     531                        path = /System/Library/Frameworks/IOKit.framework;
     532                        refType = 0;
     533                };
     534                E14DB31303B8038300000028 = {
     535                        fileRef = E14DB31203B8038300000028;
     536                        isa = PBXBuildFile;
     537                        settings = {
     538                        };
     539                };
     540                E162698303B6189000000028 = {
     541                        fileEncoding = 30;
     542                        isa = PBXFileReference;
     543                        path = "NSTableView-NJRExtensions.m";
     544                        refType = 4;
     545                };
     546                E162698403B6189000000028 = {
     547                        fileEncoding = 30;
     548                        isa = PBXFileReference;
     549                        path = "NSTableView-NJRExtensions.h";
     550                        refType = 4;
     551                };
     552                E162698503B6189000000028 = {
     553                        fileRef = E162698303B6189000000028;
     554                        isa = PBXBuildFile;
     555                        settings = {
     556                        };
     557                };
     558                E162698603B6189000000028 = {
     559                        fileRef = E162698403B6189000000028;
     560                        isa = PBXBuildFile;
     561                        settings = {
     562                        };
     563                };
     564                E162698703B6189D00000028 = {
     565                        children = (
     566                                E1F0B26803AEDE8600AEFBE0,
     567                                E1F0B26903AEDE8600AEFBE0,
     568                                E162698903B6190B00000028,
     569                                E162698A03B6190B00000028,
     570                                F5B79866038865B30136A8DD,
     571                                F5B79865038865B30136A8DD,
     572                                F5EE8DBA038A76AC0134BEAC,
     573                                F5EE8DB9038A76AC0134BEAC,
     574                                F5F1990E036D3B3101EB0372,
     575                                F5F1990D036D3B3101EB0372,
     576                                F59E4C0E036B43D2016B311C,
     577                                F59E4C0D036B43D2016B311C,
     578                                E1F0B14E03ADBE3800AEFBE0,
     579                                E1F0B14F03ADBE3800AEFBE0,
     580                                E162698303B6189000000028,
     581                                E162698403B6189000000028,
     582                        );
     583                        isa = PBXGroup;
     584                        name = Categories;
     585                        path = "";
     586                        refType = 4;
     587                };
     588                E162698803B618BD00000028 = {
     589                        children = (
     590                                F5F2418A036A910B01FE7503,
     591                                E191700B03AD24A600AEFBE0,
     592                        );
     593                        isa = PBXGroup;
     594                        name = "Private Headers";
     595                        path = "";
     596                        refType = 4;
     597                };
     598                E162698903B6190B00000028 = {
     599                        fileEncoding = 4;
     600                        isa = PBXFileReference;
     601                        path = "NSCalendarDate-NJRExtensions.h";
     602                        refType = 4;
     603                };
     604                E162698A03B6190B00000028 = {
     605                        fileEncoding = 4;
     606                        isa = PBXFileReference;
     607                        path = "NSCalendarDate-NJRExtensions.m";
     608                        refType = 4;
     609                };
     610                E162698B03B6190B00000028 = {
     611                        fileRef = E162698903B6190B00000028;
     612                        isa = PBXBuildFile;
     613                        settings = {
     614                        };
     615                };
     616                E191700B03AD24A600AEFBE0 = {
     617                        fileEncoding = 4;
     618                        isa = PBXFileReference;
     619                        path = NSDisclosureButtonCell.h;
     620                        refType = 4;
     621                };
     622                E191700C03AD24A700AEFBE0 = {
     623                        fileRef = E191700B03AD24A600AEFBE0;
     624                        isa = PBXBuildFile;
     625                        settings = {
     626                        };
     627                };
     628                E19DCBD203BE4AA200B934BF = {
     629                        fileEncoding = 30;
     630                        isa = PBXFileReference;
     631                        path = Pester_Prefix.h;
     632                        refType = 4;
     633                };
     634                E19DCBD303BE4AA200B934BF = {
     635                        fileRef = E19DCBD203BE4AA200B934BF;
     636                        isa = PBXBuildFile;
     637                        settings = {
     638                        };
     639                };
     640                E19DCBE503BE516000B934BF = {
     641                        children = (
     642                                F589C9C6035AA12B0155F4B2,
     643                        );
     644                        isa = PBXGroup;
     645                        name = Documentation;
     646                        path = "";
     647                        refType = 4;
     648                };
     649                E1A18CAB03B4344C00000028 = {
     650                        fileEncoding = 4;
     651                        isa = PBXFileReference;
     652                        path = PSAlerts.h;
     653                        refType = 4;
     654                };
     655                E1A18CAC03B4344C00000028 = {
     656                        fileEncoding = 30;
     657                        isa = PBXFileReference;
     658                        path = PSAlerts.m;
     659                        refType = 4;
     660                };
     661                E1A18CAD03B4344C00000028 = {
     662                        fileRef = E1A18CAB03B4344C00000028;
     663                        isa = PBXBuildFile;
     664                        settings = {
     665                        };
     666                };
     667                E1A18CAE03B4344C00000028 = {
     668                        fileRef = E1A18CAC03B4344C00000028;
     669                        isa = PBXBuildFile;
     670                        settings = {
     671                        };
     672                };
     673                E1A18CB103B439AD00000028 = {
     674                        fileRef = F5F1986C036B813101EB0372;
     675                        isa = PBXBuildFile;
     676                        settings = {
     677                        };
     678                };
     679                E1A18CB203B439CF00000028 = {
     680                        fileEncoding = 4;
     681                        isa = PBXFileReference;
     682                        path = PSPropertyListSerialization.h;
     683                        refType = 2;
     684                };
     685                E1A18CB403B439CF00000028 = {
     686                        fileRef = E1A18CB203B439CF00000028;
     687                        isa = PBXBuildFile;
     688                        settings = {
     689                        };
     690                };
     691                E1ECA00603C002B300F54C66 = {
     692                        fileEncoding = 4;
     693                        isa = PBXFileReference;
     694                        path = PSError.h;
     695                        refType = 2;
     696                };
     697                E1ECA00703C002B300F54C66 = {
     698                        fileEncoding = 4;
     699                        isa = PBXFileReference;
     700                        path = PSError.m;
     701                        refType = 2;
     702                };
     703                E1ECA00803C002B300F54C66 = {
     704                        fileRef = E1ECA00603C002B300F54C66;
     705                        isa = PBXBuildFile;
     706                        settings = {
     707                        };
     708                };
     709                E1ECA00903C002B300F54C66 = {
     710                        fileRef = E1ECA00703C002B300F54C66;
     711                        isa = PBXBuildFile;
     712                        settings = {
     713                        };
     714                };
     715                E1F0B14A03AD8CEF00AEFBE0 = {
     716                        fileEncoding = 4;
     717                        isa = PBXFileReference;
     718                        path = NJRUnfocusableMovieView.h;
     719                        refType = 4;
     720                };
     721                E1F0B14B03AD8CEF00AEFBE0 = {
     722                        fileEncoding = 4;
     723                        isa = PBXFileReference;
     724                        path = NJRUnfocusableMovieView.m;
     725                        refType = 4;
     726                };
     727                E1F0B14C03AD8CEF00AEFBE0 = {
     728                        fileRef = E1F0B14A03AD8CEF00AEFBE0;
     729                        isa = PBXBuildFile;
     730                        settings = {
     731                        };
     732                };
     733                E1F0B14D03AD8CEF00AEFBE0 = {
     734                        fileRef = E1F0B14B03AD8CEF00AEFBE0;
     735                        isa = PBXBuildFile;
     736                        settings = {
     737                        };
     738                };
     739                E1F0B14E03ADBE3800AEFBE0 = {
     740                        fileEncoding = 4;
     741                        isa = PBXFileReference;
     742                        path = "NSString-NJRExtensions.h";
     743                        refType = 4;
     744                };
     745                E1F0B14F03ADBE3800AEFBE0 = {
     746                        fileEncoding = 4;
     747                        isa = PBXFileReference;
     748                        path = "NSString-NJRExtensions.m";
     749                        refType = 4;
     750                };
     751                E1F0B15003ADBE3800AEFBE0 = {
     752                        fileRef = E1F0B14E03ADBE3800AEFBE0;
     753                        isa = PBXBuildFile;
     754                        settings = {
     755                        };
     756                };
     757                E1F0B15103ADBE3800AEFBE0 = {
     758                        fileRef = E1F0B14F03ADBE3800AEFBE0;
     759                        isa = PBXBuildFile;
     760                        settings = {
     761                        };
     762                };
     763                E1F0B26803AEDE8600AEFBE0 = {
     764                        fileEncoding = 4;
     765                        isa = PBXFileReference;
     766                        path = "NSAttributedString-NJRExtensions.h";
     767                        refType = 4;
     768                };
     769                E1F0B26903AEDE8600AEFBE0 = {
     770                        fileEncoding = 4;
     771                        isa = PBXFileReference;
     772                        path = "NSAttributedString-NJRExtensions.m";
     773                        refType = 4;
     774                };
     775                E1F0B26A03AEDE8600AEFBE0 = {
     776                        fileRef = E1F0B26803AEDE8600AEFBE0;
     777                        isa = PBXBuildFile;
     778                        settings = {
     779                        };
     780                };
     781                E1F0B26B03AEDE8600AEFBE0 = {
     782                        fileRef = E1F0B26903AEDE8600AEFBE0;
     783                        isa = PBXBuildFile;
     784                        settings = {
     785                        };
     786                };
     787//E10
     788//E11
     789//E12
     790//E13
     791//E14
    428792//F50
    429793//F51
     
    438802                };
    439803                F517D63E0356B80C016D68B9 = {
     804                        fileEncoding = 30;
    440805                        isa = PBXFileReference;
    441806                        path = PSAlarmsController.m;
     
    443808                };
    444809                F517D63F0356B80C016D68B9 = {
     810                        fileEncoding = 30;
    445811                        isa = PBXFileReference;
    446812                        path = PSAlarmsController.h;
     
    460826                };
    461827                F517D6420356B8CC016D68B9 = {
     828                        fileEncoding = 30;
    462829                        isa = PBXFileReference;
    463830                        path = PSAlarms.m;
     
    465832                };
    466833                F517D6430356B8CC016D68B9 = {
     834                        fileEncoding = 30;
    467835                        isa = PBXFileReference;
    468836                        path = PSAlarms.h;
     
    493861                };
    494862                F552A8AB0358E8B201AEEDB1 = {
     863                        fileEncoding = 30;
    495864                        isa = PBXFileReference;
    496865                        path = NJRScrollView.h;
     
    498867                };
    499868                F552A8AC0358E8B201AEEDB1 = {
     869                        fileEncoding = 30;
    500870                        isa = PBXFileReference;
    501871                        path = NJRScrollView.m;
     
    536906                };
    537907                F560E2F10357506401A4E466 = {
     908                        fileEncoding = 30;
    538909                        isa = PBXFileReference;
    539910                        path = PSApplication.m;
     
    541912                };
    542913                F560E2F20357506401A4E466 = {
     914                        fileEncoding = 30;
    543915                        isa = PBXFileReference;
    544916                        path = PSApplication.h;
     
    565937                F560E2F7035766F201A4E466 = {
    566938                        fileRef = 089C165CFE840E0CC02AAC07;
    567                         isa = PBXBuildFile;
    568                         settings = {
    569                         };
    570                 };
    571                 F560E30D035787BB01A4E466 = {
    572                         isa = PBXFileReference;
    573                         path = "NSTableView-NJRExtensions.m";
    574                         refType = 4;
    575                 };
    576                 F560E30E035787BC01A4E466 = {
    577                         isa = PBXFileReference;
    578                         path = "NSTableView-NJRExtensions.h";
    579                         refType = 4;
    580                 };
    581                 F560E30F035787BC01A4E466 = {
    582                         fileRef = F560E30D035787BB01A4E466;
    583                         isa = PBXBuildFile;
    584                         settings = {
    585                         };
    586                 };
    587                 F560E310035787BC01A4E466 = {
    588                         fileRef = F560E30E035787BC01A4E466;
    589939                        isa = PBXBuildFile;
    590940                        settings = {
     
    612962                F560E312035787E001A4E466 = {
    613963                        children = (
     964                                F517D6430356B8CC016D68B9,
     965                                F517D6420356B8CC016D68B9,
    614966                                F59F6CB40354E7DA01AEEDB1,
    615967                                F59F6CB50354E7DA01AEEDB1,
    616                                 F517D6430356B8CC016D68B9,
    617                                 F517D6420356B8CC016D68B9,
    618968                        );
    619969                        isa = PBXGroup;
    620                         name = Models;
     970                        name = Alarms;
    621971                        refType = 4;
    622972                };
     
    625975                                F5F19865036B806201EB0372,
    626976                                F59E47A6036AA5FC016B311C,
    627                                 F59E47A5036AA5F2016B311C,
     977                                E1ECA00603C002B300F54C66,
     978                                E1ECA00703C002B300F54C66,
     979                                E1A18CB203B439CF00000028,
     980                                E130B9AC03B7C59700000028,
     981                                E130B9AD03B7C59700000028,
    628982                                F59DC6E90353F58B01AEEDB1,
    629983                                F59DC6E80353F58B01AEEDB1,
    630984                                F59DC6FC0354188F01AEEDB1,
    631985                                F59DC6FD0354188F01AEEDB1,
    632                                 F5F2418A036A910B01FE7503,
    633                                 F5B79866038865B30136A8DD,
    634                                 F5B79865038865B30136A8DD,
    635                                 F5F1990E036D3B3101EB0372,
    636                                 F5F1990D036D3B3101EB0372,
    637                                 F59E4C0E036B43D2016B311C,
    638                                 F59E4C0D036B43D2016B311C,
    639                                 F560E30E035787BC01A4E466,
    640                                 F560E30D035787BB01A4E466,
    641                                 F5F198DA036BE75E01EB0372,
    642                                 F5F198D9036BE75E01EB0372,
    643986                        );
    644987                        isa = PBXGroup;
     
    648991                F560E314035787F901A4E466 = {
    649992                        children = (
     993                                E1F0B14A03AD8CEF00AEFBE0,
     994                                E1F0B14B03AD8CEF00AEFBE0,
    650995                                F5B79837035F64F80136A8DD,
    651996                                F5B79836035F64F80136A8DD,
     
    654999                                F560E3150357895001A4E466,
    6551000                                F560E3160357895001A4E466,
     1001                                E13919E203B9E4E100000028,
     1002                                E13919E303B9E4E100000028,
    6561003                                F5F240B6036A862101FE7503,
    6571004                                F5F240B5036A862101FE7503,
     
    6671014                };
    6681015                F560E3150357895001A4E466 = {
     1016                        fileEncoding = 30;
    6691017                        isa = PBXFileReference;
    6701018                        path = NJRHistoryTrackingComboBox.h;
     
    6721020                };
    6731021                F560E3160357895001A4E466 = {
     1022                        fileEncoding = 30;
    6741023                        isa = PBXFileReference;
    6751024                        path = NJRHistoryTrackingComboBox.m;
     
    6891038                };
    6901039                F562F809037E5D0101AEEDB1 = {
     1040                        fileEncoding = 30;
    6911041                        isa = PBXFileReference;
    6921042                        path = VERSION;
     
    7051055                };
    7061056                F59DC6D30353C9E601AEEDB1 = {
     1057                        fileEncoding = 30;
    7071058                        isa = PBXFileReference;
    7081059                        path = PSAlarmSetController.h;
     
    7101061                };
    7111062                F59DC6D40353C9E601AEEDB1 = {
     1063                        fileEncoding = 30;
    7121064                        isa = PBXFileReference;
    7131065                        path = PSAlarmSetController.m;
     
    7271079                };
    7281080                F59DC6DB0353DE5101AEEDB1 = {
     1081                        fileEncoding = 30;
    7291082                        isa = PBXFileReference;
    7301083                        path = PSAlarmNotifierController.h;
     
    7321085                };
    7331086                F59DC6DC0353DE5101AEEDB1 = {
     1087                        fileEncoding = 30;
    7341088                        isa = PBXFileReference;
    7351089                        path = PSAlarmNotifierController.m;
     
    7811135                };
    7821136                F59DC6E80353F58B01AEEDB1 = {
     1137                        fileEncoding = 30;
    7831138                        isa = PBXFileReference;
    7841139                        path = NJRIntegerFilter.m;
     
    7861141                };
    7871142                F59DC6E90353F58B01AEEDB1 = {
     1143                        fileEncoding = 30;
    7881144                        isa = PBXFileReference;
    7891145                        path = NJRIntegerFilter.h;
     
    8031159                };
    8041160                F59DC6FC0354188F01AEEDB1 = {
     1161                        fileEncoding = 30;
    8051162                        isa = PBXFileReference;
    8061163                        path = NJRDateFormatter.h;
     
    8081165                };
    8091166                F59DC6FD0354188F01AEEDB1 = {
     1167                        fileEncoding = 30;
    8101168                        isa = PBXFileReference;
    8111169                        path = NJRDateFormatter.m;
     
    8341192                };
    8351193                F59DD4500358ABF4017318D0 = {
     1194                        fileEncoding = 30;
    8361195                        isa = PBXFileReference;
    8371196                        name = English;
     
    8441203                        settings = {
    8451204                        };
    846                 };
    847                 F59E4793036AA5E9016B311C = {
    848                         isa = PBXFileReference;
    849                         path = NDResourceFork.m;
    850                         refType = 4;
    851                 };
    852                 F59E4794036AA5E9016B311C = {
    853                         isa = PBXFileReference;
    854                         path = "NSURL+NDCarbonUtilities.m";
    855                         refType = 4;
    856                 };
    857                 F59E4795036AA5E9016B311C = {
    858                         isa = PBXFileReference;
    859                         path = NDAppleScriptObject.h;
    860                         refType = 4;
    861                 };
    862                 F59E4796036AA5E9016B311C = {
    863                         isa = PBXFileReference;
    864                         path = "NSAppleEventDescriptor+NDAppleScriptObject.m";
    865                         refType = 4;
    866                 };
    867                 F59E4797036AA5E9016B311C = {
    868                         isa = PBXFileReference;
    869                         path = NDAppleScriptObject.m;
    870                         refType = 4;
    871                 };
    872                 F59E4798036AA5E9016B311C = {
    873                         isa = PBXFileReference;
    874                         path = "NSAppleEventDescriptor+NDAppleScriptObject.h";
    875                         refType = 4;
    876                 };
    877                 F59E4799036AA5E9016B311C = {
    878                         isa = PBXFileReference;
    879                         path = NDResourceFork.h;
    880                         refType = 4;
    881                 };
    882                 F59E479A036AA5E9016B311C = {
    883                         isa = PBXFileReference;
    884                         path = NDAppleScriptObject_Protocols.h;
    885                         refType = 4;
    886                 };
    887                 F59E479B036AA5E9016B311C = {
    888                         isa = PBXFileReference;
    889                         path = "NSURL+NDCarbonUtilities.h";
    890                         refType = 4;
    891                 };
    892                 F59E479C036AA5E9016B311C = {
    893                         fileRef = F59E4793036AA5E9016B311C;
    894                         isa = PBXBuildFile;
    895                         settings = {
    896                         };
    897                 };
    898                 F59E479D036AA5E9016B311C = {
    899                         fileRef = F59E4794036AA5E9016B311C;
    900                         isa = PBXBuildFile;
    901                         settings = {
    902                         };
    903                 };
    904                 F59E479E036AA5E9016B311C = {
    905                         fileRef = F59E4795036AA5E9016B311C;
    906                         isa = PBXBuildFile;
    907                         settings = {
    908                         };
    909                 };
    910                 F59E479F036AA5E9016B311C = {
    911                         fileRef = F59E4796036AA5E9016B311C;
    912                         isa = PBXBuildFile;
    913                         settings = {
    914                         };
    915                 };
    916                 F59E47A0036AA5E9016B311C = {
    917                         fileRef = F59E4797036AA5E9016B311C;
    918                         isa = PBXBuildFile;
    919                         settings = {
    920                         };
    921                 };
    922                 F59E47A1036AA5E9016B311C = {
    923                         fileRef = F59E4798036AA5E9016B311C;
    924                         isa = PBXBuildFile;
    925                         settings = {
    926                         };
    927                 };
    928                 F59E47A2036AA5E9016B311C = {
    929                         fileRef = F59E4799036AA5E9016B311C;
    930                         isa = PBXBuildFile;
    931                         settings = {
    932                         };
    933                 };
    934                 F59E47A3036AA5E9016B311C = {
    935                         fileRef = F59E479A036AA5E9016B311C;
    936                         isa = PBXBuildFile;
    937                         settings = {
    938                         };
    939                 };
    940                 F59E47A4036AA5E9016B311C = {
    941                         fileRef = F59E479B036AA5E9016B311C;
    942                         isa = PBXBuildFile;
    943                         settings = {
    944                         };
    945                 };
    946                 F59E47A5036AA5F2016B311C = {
    947                         children = (
    948                                 F59E4799036AA5E9016B311C,
    949                                 F59E4793036AA5E9016B311C,
    950                                 F59E479B036AA5E9016B311C,
    951                                 F59E4794036AA5E9016B311C,
    952                                 F59E4798036AA5E9016B311C,
    953                                 F59E4796036AA5E9016B311C,
    954                                 F59E4795036AA5E9016B311C,
    955                                 F59E479A036AA5E9016B311C,
    956                                 F59E4797036AA5E9016B311C,
    957                         );
    958                         isa = PBXGroup;
    959                         path = NDAppleScript;
    960                         refType = 4;
    9611205                };
    9621206                F59E47A6036AA5FC016B311C = {
     
    9711215                };
    9721216                F59E47A7036AAA6D016B311C = {
     1217                        fileEncoding = 30;
    9731218                        isa = PBXFileReference;
    9741219                        path = PSAlert.m;
     
    9761221                };
    9771222                F59E47A8036AAA6D016B311C = {
     1223                        fileEncoding = 30;
    9781224                        isa = PBXFileReference;
    9791225                        path = PSAlert.h;
     
    9931239                };
    9941240                F59E47AB036AAC1E016B311C = {
     1241                        fileEncoding = 30;
    9951242                        isa = PBXFileReference;
    9961243                        path = PSBeepAlert.m;
     
    9981245                };
    9991246                F59E47AC036AAC1E016B311C = {
     1247                        fileEncoding = 30;
    10001248                        isa = PBXFileReference;
    10011249                        path = PSBeepAlert.h;
     
    10161264                F59E47AF036AAC31016B311C = {
    10171265                        children = (
     1266                                E1A18CAB03B4344C00000028,
     1267                                E1A18CAC03B4344C00000028,
    10181268                                F59E47A8036AAA6D016B311C,
    10191269                                F59E47A7036AAA6D016B311C,
     
    10371287                };
    10381288                F59E47B0036AACD1016B311C = {
     1289                        fileEncoding = 30;
    10391290                        isa = PBXFileReference;
    10401291                        path = PSNotifierAlert.m;
     
    10421293                };
    10431294                F59E47B1036AACD1016B311C = {
     1295                        fileEncoding = 30;
    10441296                        isa = PBXFileReference;
    10451297                        path = PSNotifierAlert.h;
     
    10591311                };
    10601312                F59E47B4036AAD55016B311C = {
     1313                        fileEncoding = 30;
    10611314                        isa = PBXFileReference;
    10621315                        path = PSAlarmAlertController.m;
     
    10641317                };
    10651318                F59E47B5036AAD55016B311C = {
     1319                        fileEncoding = 30;
    10661320                        isa = PBXFileReference;
    10671321                        path = PSAlarmAlertController.h;
     
    10811335                };
    10821336                F59E47B8036AB217016B311C = {
     1337                        fileEncoding = 30;
    10831338                        isa = PBXFileReference;
    10841339                        path = PSDockBounceAlert.m;
     
    10861341                };
    10871342                F59E47B9036AB217016B311C = {
     1343                        fileEncoding = 30;
    10881344                        isa = PBXFileReference;
    10891345                        path = PSDockBounceAlert.h;
     
    11031359                };
    11041360                F59E47BC036AB228016B311C = {
     1361                        fileEncoding = 30;
    11051362                        isa = PBXFileReference;
    11061363                        path = PSMovieAlert.m;
     
    11081365                };
    11091366                F59E47BD036AB228016B311C = {
     1367                        fileEncoding = 30;
    11101368                        isa = PBXFileReference;
    11111369                        path = PSMovieAlert.h;
     
    11251383                };
    11261384                F59E47C0036B1ADD016B311C = {
     1385                        fileEncoding = 30;
    11271386                        isa = PBXFileReference;
    11281387                        path = PSMovieAlertController.m;
     
    11301389                };
    11311390                F59E47C1036B1ADD016B311C = {
     1391                        fileEncoding = 30;
    11321392                        isa = PBXFileReference;
    11331393                        path = PSMovieAlertController.h;
     
    11681428                };
    11691429                F59E4BE6036B2E5E016B311C = {
     1430                        fileEncoding = 30;
    11701431                        isa = PBXFileReference;
    11711432                        path = PSScriptAlert.m;
     
    11731434                };
    11741435                F59E4BE7036B2E5E016B311C = {
     1436                        fileEncoding = 30;
    11751437                        isa = PBXFileReference;
    11761438                        path = PSScriptAlert.h;
     
    12021464                };
    12031465                F59E4C0D036B43D2016B311C = {
     1466                        fileEncoding = 30;
    12041467                        isa = PBXFileReference;
    12051468                        path = "NSMovie-NJRExtensions.m";
     
    12071470                };
    12081471                F59E4C0E036B43D2016B311C = {
     1472                        fileEncoding = 30;
    12091473                        isa = PBXFileReference;
    12101474                        path = "NSMovie-NJRExtensions.h";
     
    12241488                };
    12251489                F59F6CB40354E7DA01AEEDB1 = {
     1490                        fileEncoding = 30;
    12261491                        isa = PBXFileReference;
    12271492                        path = PSAlarm.h;
     
    12291494                };
    12301495                F59F6CB50354E7DA01AEEDB1 = {
     1496                        fileEncoding = 30;
    12311497                        isa = PBXFileReference;
    12321498                        path = PSAlarm.m;
     
    12461512                };
    12471513                F5B79836035F64F80136A8DD = {
     1514                        fileEncoding = 30;
    12481515                        isa = PBXFileReference;
    12491516                        path = NJRTableView.m;
     
    12511518                };
    12521519                F5B79837035F64F80136A8DD = {
     1520                        fileEncoding = 30;
    12531521                        isa = PBXFileReference;
    12541522                        path = NJRTableView.h;
     
    12681536                };
    12691537                F5B79865038865B30136A8DD = {
     1538                        fileEncoding = 30;
    12701539                        isa = PBXFileReference;
    12711540                        path = "NSCharacterSet-NJRExtensions.m";
     
    12731542                };
    12741543                F5B79866038865B30136A8DD = {
     1544                        fileEncoding = 30;
    12751545                        isa = PBXFileReference;
    12761546                        path = "NSCharacterSet-NJRExtensions.h";
     
    12851555                F5B79868038865B30136A8DD = {
    12861556                        fileRef = F5B79866038865B30136A8DD;
     1557                        isa = PBXBuildFile;
     1558                        settings = {
     1559                        };
     1560                };
     1561                F5EE8DB9038A76AC0134BEAC = {
     1562                        fileEncoding = 30;
     1563                        isa = PBXFileReference;
     1564                        path = "NSDictionary-NJRExtensions.m";
     1565                        refType = 4;
     1566                };
     1567                F5EE8DBA038A76AC0134BEAC = {
     1568                        fileEncoding = 30;
     1569                        isa = PBXFileReference;
     1570                        path = "NSDictionary-NJRExtensions.h";
     1571                        refType = 4;
     1572                };
     1573                F5EE8DBB038A76AC0134BEAC = {
     1574                        fileRef = F5EE8DB9038A76AC0134BEAC;
     1575                        isa = PBXBuildFile;
     1576                        settings = {
     1577                        };
     1578                };
     1579                F5EE8DBC038A76AC0134BEAC = {
     1580                        fileRef = F5EE8DBA038A76AC0134BEAC;
    12871581                        isa = PBXBuildFile;
    12881582                        settings = {
     
    13001594                };
    13011595                F5F19866036B80AF01EB0372 = {
     1596                        fileEncoding = 30;
    13021597                        isa = PBXFileReference;
    13031598                        path = SUSpeaker.h;
     
    13051600                };
    13061601                F5F19867036B80AF01EB0372 = {
     1602                        fileEncoding = 30;
    13071603                        isa = PBXFileReference;
    13081604                        path = SUSpeaker.m;
     
    13221618                };
    13231619                F5F1986C036B813101EB0372 = {
     1620                        fileEncoding = 30;
    13241621                        isa = PBXFileReference;
    13251622                        path = PSSpeechAlert.m;
     
    13271624                };
    13281625                F5F1986D036B813101EB0372 = {
     1626                        fileEncoding = 30;
    13291627                        isa = PBXFileReference;
    13301628                        path = PSSpeechAlert.h;
    13311629                        refType = 4;
    1332                 };
    1333                 F5F1986E036B813101EB0372 = {
    1334                         fileRef = F5F1986C036B813101EB0372;
    1335                         isa = PBXBuildFile;
    1336                         settings = {
    1337                         };
    13381630                };
    13391631                F5F1986F036B813101EB0372 = {
     
    13441636                };
    13451637                F5F19870036B822E01EB0372 = {
     1638                        fileEncoding = 30;
    13461639                        isa = PBXFileReference;
    13471640                        path = NJRVoicePopUpButton.m;
     
    13491642                };
    13501643                F5F19871036B822E01EB0372 = {
     1644                        fileEncoding = 30;
    13511645                        isa = PBXFileReference;
    13521646                        path = NJRVoicePopUpButton.h;
     
    13661660                };
    13671661                F5F198D0036BE57401EB0372 = {
     1662                        fileEncoding = 30;
    13681663                        isa = PBXFileReference;
    13691664                        path = NJRTableDelegate.m;
     
    13711666                };
    13721667                F5F198D1036BE57401EB0372 = {
     1668                        fileEncoding = 30;
    13731669                        isa = PBXFileReference;
    13741670                        path = NJRTableDelegate.h;
     
    13871683                        };
    13881684                };
    1389                 F5F198D9036BE75E01EB0372 = {
    1390                         isa = PBXFileReference;
    1391                         path = "NSTableView-NJRExtensions.m";
    1392                         refType = 4;
    1393                 };
    1394                 F5F198DA036BE75E01EB0372 = {
    1395                         isa = PBXFileReference;
    1396                         path = "NSTableView-NJRExtensions.h";
    1397                         refType = 4;
    1398                 };
    1399                 F5F198DB036BE75E01EB0372 = {
    1400                         fileRef = F5F198D9036BE75E01EB0372;
    1401                         isa = PBXBuildFile;
    1402                         settings = {
    1403                         };
    1404                 };
    14051685                F5F1990D036D3B3101EB0372 = {
     1686                        fileEncoding = 30;
    14061687                        isa = PBXFileReference;
    14071688                        path = "NSImage-NJRExtensions.m";
     
    14091690                };
    14101691                F5F1990E036D3B3101EB0372 = {
     1692                        fileEncoding = 30;
    14111693                        isa = PBXFileReference;
    14121694                        path = "NSImage-NJRExtensions.h";
     
    14261708                };
    14271709                F5F240B5036A862101FE7503 = {
     1710                        fileEncoding = 30;
    14281711                        isa = PBXFileReference;
    14291712                        path = NJRFSObjectSelector.m;
     
    14311714                };
    14321715                F5F240B6036A862101FE7503 = {
     1716                        fileEncoding = 30;
    14331717                        isa = PBXFileReference;
    14341718                        path = NJRFSObjectSelector.h;
     
    14481732                };
    14491733                F5F240B9036A867901FE7503 = {
     1734                        fileEncoding = 30;
    14501735                        isa = PBXFileReference;
    14511736                        path = BDAlias.h;
     
    14591744                };
    14601745                F5F240CA036A869401FE7503 = {
     1746                        fileEncoding = 30;
    14611747                        isa = PBXFileReference;
    14621748                        path = BDAlias.m;
     
    14701756                };
    14711757                F5F240CC036A877301FE7503 = {
     1758                        fileEncoding = 30;
    14721759                        isa = PBXFileReference;
    14731760                        path = NJRQTMediaPopUpButton.m;
     
    14751762                };
    14761763                F5F240CD036A877301FE7503 = {
     1764                        fileEncoding = 30;
    14771765                        isa = PBXFileReference;
    14781766                        path = NJRQTMediaPopUpButton.h;
     
    15101798                };
    15111799                F5F2418A036A910B01FE7503 = {
     1800                        fileEncoding = 30;
    15121801                        isa = PBXFileReference;
    15131802                        path = SoundFileManager.h;
  • trunk/Cocoa/Pester/Source/VERSION

    r49 r53  
    1 1.1a3
     11.1a5
Note: See TracChangeset for help on using the changeset viewer.