Changeset 367

Show
Ignore:
Timestamp:
12/ 2/07 3:51:55 AM (1 year ago)
Author:
nicholas
Message:

DynaLoader?-10.[45].a: Tiger and Leopard versions, since Tiger's
DynaLoader?.a crashes on Leopard ppc.

DynaLoader?.a: Renamed to DynaLoader?-10.4.a.

English.lproj/InfoPlist.strings: Updated for 1.1b7.

Info-Pester.plist: Updated for 1.1b7.

NJRDateFormatter.m: Conditionally load ParseDate? dylib (see above).

ParseDate?.[hm]: Split out from NJRDateFormatter.m.

Read Me.rtfd/TXT.rtf: Updated for 1.1b7.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Cocoa/Pester/Source/English.lproj/InfoPlist.strings

    r364 r367  
    22 
    33CFBundleName = "Pester"; 
    4 CFBundleShortVersionString = "1.1b6"; 
    5 CFBundleGetInfoString = "Pester 1.1b6, © 2002–07 Nicholas Riley"; 
     4CFBundleShortVersionString = "1.1b7"; 
     5CFBundleGetInfoString = "Pester 1.1b7, © 2002–07 Nicholas Riley"; 
    66NSHumanReadableCopyright = "© 2002–07 Nicholas Riley"; 
  • trunk/Cocoa/Pester/Source/Info-Pester.plist

    r366 r367  
    88        <string>Pester</string> 
    99        <key>CFBundleGetInfoString</key> 
    10         <string>Pester 1.1b6, © 2002–07 Nicholas Riley</string> 
     10        <string>Pester 1.1b7, © 2002–07 Nicholas Riley</string> 
    1111        <key>CFBundleIconFile</key> 
    1212        <string>Application icon</string> 
     
    2020        <string>APPL</string> 
    2121        <key>CFBundleShortVersionString</key> 
    22         <string>1.1b6</string> 
     22        <string>1.1b7</string> 
    2323        <key>CFBundleSignature</key> 
    2424        <string>Pest</string> 
    2525        <key>CFBundleVersion</key> 
    26         <string>23</string> 
     26        <string>24</string> 
    2727        <key>NSMainNibFile</key> 
    2828        <string>MainMenu</string> 
  • trunk/Cocoa/Pester/Source/NJRDateFormatter.m

    r361 r367  
    88 
    99#import "NJRDateFormatter.h" 
    10  
    11 // generated by perl -MExtUtils::Embed -e xsinit -- -o perlxsi.c 
    12 #include <EXTERN.h> 
    13 #include <perl.h> 
    14  
    15 EXTERN_C void xs_init (pTHX); 
    16  
    17 EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); 
    18  
    19 EXTERN_C void 
    20 xs_init(pTHX) 
    21 
    22     char *file = __FILE__; 
    23     dXSUB_SYS; 
    24      
    25     /* DynaLoader is a special case */ 
    26     newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); 
    27 
    28 // end generated code 
    29  
    30 static PerlInterpreter *my_perl; 
    31 static NSDateFormatter *dateManipFormatter; 
    32  
    33 static NSDate *parse_natural_language_date(NSString *input) { 
    34     if (my_perl == NULL) return nil; 
    35      
    36     if ([input rangeOfString: @"|"].length > 0) { 
    37         NSMutableString *sanitized = [[input mutableCopy] autorelease]; 
    38         [sanitized replaceOccurrencesOfString: @"|" withString: @"" 
    39                                       options: NSLiteralSearch 
    40                                         range: NSMakeRange(0, [sanitized length])]; 
    41         input = sanitized; 
    42     } 
    43      
    44     NSString *temp = [[NSString alloc] initWithFormat: @"UnixDate(q|%@|, '%%q')", input]; 
    45     // NSLog(@"%@", temp); 
    46     SV *d = eval_pv([temp UTF8String], TRUE); 
    47     [temp release]; 
    48     if (d == NULL) return nil; 
    49      
    50     STRLEN s_len; 
    51     char *s = SvPV(d, s_len); 
    52     if (s == NULL || s_len == 0) return nil; 
    53      
    54     NSDate *date = [dateManipFormatter dateFromString: [NSString stringWithUTF8String: s]]; 
    55     // NSLog(@"%@", date); 
    56      
    57     return date; 
    58 
    59  
    60 static void init_perl(void) { 
    61     const char *argv[] = {"", "-CSD", "-I", "", "-MDate::Manip", "-e", "0"}; 
    62     argv[3] = [[[NSBundle mainBundle] resourcePath] fileSystemRepresentation]; 
    63     PERL_SYS_INIT(0, NULL); 
    64     my_perl = perl_alloc(); 
    65     if (my_perl == NULL) return; 
    66      
    67     perl_construct(my_perl); 
    68     if (perl_parse(my_perl, xs_init, 7, (char **)argv, NULL) != 0) goto fail; 
    69      
    70     PL_exit_flags |= PERL_EXIT_DESTRUCT_END; 
    71     if (perl_run(my_perl) != 0) goto fail; 
    72      
    73     // XXX detect localization changes 
    74     eval_pv("Date_Init(\"Language=English\", \"DateFormat=non-US\", \"Internal=1\"", TRUE); 
    75  
    76     if (parse_natural_language_date(@"tomorrow") == nil) goto fail; 
    77      
    78     return; 
    79      
    80 fail: 
    81     perl_destruct(my_perl); 
    82     perl_free(my_perl); 
    83     PERL_SYS_TERM(); 
    84     my_perl = NULL; 
    85 
     10#import "ParseDate.h" 
     11#include <dlfcn.h> 
    8612 
    8713// workaround for bug in Jaguar (and earlier?) NSCalendarDate dateWithNaturalLanguageString: 
     
    12046+ (void)initialize; 
    12147{ 
    122     dateManipFormatter = [[NSDateFormatter alloc] init]; 
    123     [dateManipFormatter setDateFormat: @"yyyyMMddHHmmss"]; // Date::Manip's "%q" 
    124     init_perl(); 
     48    long minorVersion, majorVersion; 
     49    Gestalt(gestaltSystemVersionMajor, &majorVersion); 
     50    Gestalt(gestaltSystemVersionMinor, &minorVersion); 
     51    if (majorVersion != 10) 
     52        return; 
     53     
     54    NSString *libName; 
     55    if (minorVersion == 4) { 
     56        libName = @"libParseDate-10.4"; 
     57    } else if (minorVersion == 5) { 
     58        libName = @"libParseDate-10.5"; 
     59    } else { 
     60        return; 
     61    } 
     62     
     63    NSString *libPath = [[NSBundle mainBundle] pathForResource: libName ofType: @"dylib"]; 
     64    if (libPath == nil) 
     65        return; 
     66     
     67    void *lib = dlopen([libPath fileSystemRepresentation], RTLD_LAZY | RTLD_GLOBAL); 
     68    const char *libError; 
     69    if ( (libError = dlerror()) != NULL) { 
     70        NSLog(@"failed to dlopen %@: %s", libPath, libError); 
     71        return; 
     72    } 
     73     
     74    parse_natural_language_date = dlsym(lib, "parse_natural_language_date"); 
     75    if ( (libError = dlerror()) != NULL) { 
     76        NSLog(@"failed to look up parse_natural_language_date in %@: %s", libPath, libError); 
     77        parse_natural_language_date = NULL; 
     78        return; 
     79    } 
    12580} 
    12681 
     
    13085    NSMutableArray *tryFormatters = [[NSMutableArray alloc] init]; 
    13186     
    132     for (NSDateFormatterStyle *s = formatterStyles ; *s < NSDateFormatterNoStyle ; *s++) { 
     87    for (const NSDateFormatterStyle *s = formatterStyles ; *s < NSDateFormatterNoStyle ; *s++) { 
    13388        NSDateFormatter *tryFormatter = [[NSDateFormatter alloc] init]; 
    13489        [tryFormatter setLenient: YES]; 
     
    149104    NSMutableArray *tryFormatters = [[NSMutableArray alloc] init]; 
    150105     
    151     for (NSDateFormatterStyle *s = formatterStyles ; *s < NSDateFormatterNoStyle ; *s++) { 
     106    for (const NSDateFormatterStyle *s = formatterStyles ; *s < NSDateFormatterNoStyle ; *s++) { 
    152107        NSDateFormatter *tryFormatter = [[NSDateFormatter alloc] init]; 
    153108        [tryFormatter setLenient: YES]; 
     
    196151    } 
    197152     
     153    if (parse_natural_language_date == NULL) return nil; 
     154 
    198155    date = parse_natural_language_date(string); 
    199156    if (date != nil) goto success; 
     
    211168+ (BOOL)naturalLanguageParsingAvailable; 
    212169{ 
    213     return (my_perl != NULL); 
     170    return (parse_natural_language_date != NULL); 
    214171} 
    215172@end 
  • trunk/Cocoa/Pester/Source/Pester.xcodeproj/nicholas.mode2v3

    r366 r367  
    203203                        <dict> 
    204204                                <key>PBXProjectModuleGUID</key> 
    205                                 <string>E150468D0CFD567100DE47E9</string> 
     205                                <string>E126D5AE0D0003070024B2EA</string> 
    206206                                <key>PBXProjectModuleLabel</key> 
    207207                                <string>PSAlarm.m</string> 
     
    211211                                        <dict> 
    212212                                                <key>PBXProjectModuleGUID</key> 
    213                                                 <string>E150468E0CFD567100DE47E9</string> 
     213                                                <string>E126D5AF0D0003070024B2EA</string> 
    214214                                                <key>PBXProjectModuleLabel</key> 
    215215                                                <string>PSAlarm.m</string> 
     
    217217                                                <integer>0</integer> 
    218218                                                <key>bookmark</key> 
    219                                                 <string>E15046B30CFD5BA600DE47E9</string> 
     219                                                <string>E126D5B10D0003070024B2EA</string> 
    220220                                                <key>history</key> 
    221221                                                <array> 
    222                                                         <string>E150468F0CFD567100DE47E9</string> 
    223                                                         <string>E15046A90CFD5AF700DE47E9</string> 
    224                                                 </array> 
    225                                                 <key>prevStack</key> 
    226                                                 <array> 
    227                                                         <string>E15046900CFD567100DE47E9</string> 
    228                                                         <string>E15046910CFD567100DE47E9</string> 
     222                                                        <string>E126D5B00D0003070024B2EA</string> 
    229223                                                </array> 
    230224                                        </dict> 
     
    242236                                <true/> 
    243237                                <key>RubberWindowFrame</key> 
    244                                 <string>179 245 1052 933 0 0 1920 1178 </string> 
    245                         </dict> 
    246                 </dict> 
    247                 <dict> 
    248                         <key>Content</key> 
    249                         <dict> 
    250                                 <key>PBXProjectModuleGUID</key> 
    251                                 <string>E15046930CFD567100DE47E9</string> 
    252                                 <key>PBXProjectModuleLabel</key> 
    253                                 <string>PSSnoozeUntilController.m</string> 
    254                                 <key>PBXSplitModuleInNavigatorKey</key> 
    255                                 <dict> 
    256                                         <key>Split0</key> 
    257                                         <dict> 
    258                                                 <key>PBXProjectModuleGUID</key> 
    259                                                 <string>E15046940CFD567100DE47E9</string> 
    260                                                 <key>PBXProjectModuleLabel</key> 
    261                                                 <string>PSSnoozeUntilController.m</string> 
    262                                                 <key>_historyCapacity</key> 
    263                                                 <integer>0</integer> 
    264                                                 <key>bookmark</key> 
    265                                                 <string>E15046B40CFD5BA600DE47E9</string> 
    266                                                 <key>history</key> 
    267                                                 <array> 
    268                                                         <string>E15046950CFD567100DE47E9</string> 
    269                                                         <string>E15046AD0CFD5B6400DE47E9</string> 
    270                                                 </array> 
    271                                                 <key>prevStack</key> 
    272                                                 <array> 
    273                                                         <string>E15046970CFD567100DE47E9</string> 
    274                                                         <string>E15046980CFD567100DE47E9</string> 
    275                                                 </array> 
    276                                         </dict> 
    277                                         <key>SplitCount</key> 
    278                                         <string>1</string> 
    279                                 </dict> 
    280                                 <key>StatusBarVisibility</key> 
    281                                 <false/> 
    282                         </dict> 
    283                         <key>Geometry</key> 
    284                         <dict> 
    285                                 <key>Frame</key> 
    286                                 <string>{{0, -1}, {872, 915}}</string> 
    287                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    288                                 <true/> 
    289                                 <key>RubberWindowFrame</key> 
    290                                 <string>688 76 872 935 0 0 1920 1178 </string> 
    291                         </dict> 
    292                 </dict> 
    293                 <dict> 
    294                         <key>Content</key> 
    295                         <dict> 
    296                                 <key>PBXProjectModuleGUID</key> 
    297                                 <string>E150469E0CFD567100DE47E9</string> 
    298                                 <key>PBXProjectModuleLabel</key> 
    299                                 <string>PSAlarm.h</string> 
    300                                 <key>PBXSplitModuleInNavigatorKey</key> 
    301                                 <dict> 
    302                                         <key>Split0</key> 
    303                                         <dict> 
    304                                                 <key>PBXProjectModuleGUID</key> 
    305                                                 <string>E150469F0CFD567100DE47E9</string> 
    306                                                 <key>PBXProjectModuleLabel</key> 
    307                                                 <string>PSAlarm.h</string> 
    308                                                 <key>_historyCapacity</key> 
    309                                                 <integer>0</integer> 
    310                                                 <key>bookmark</key> 
    311                                                 <string>E15046B50CFD5BA600DE47E9</string> 
    312                                                 <key>history</key> 
    313                                                 <array> 
    314                                                         <string>E15046A00CFD567100DE47E9</string> 
    315                                                         <string>E15046A10CFD567100DE47E9</string> 
    316                                                 </array> 
    317                                                 <key>prevStack</key> 
    318                                                 <array> 
    319                                                         <string>E15046A20CFD567100DE47E9</string> 
    320                                                         <string>E15046A30CFD567100DE47E9</string> 
    321                                                         <string>E15046A40CFD567100DE47E9</string> 
    322                                                 </array> 
    323                                         </dict> 
    324                                         <key>SplitCount</key> 
    325                                         <string>1</string> 
    326                                 </dict> 
    327                                 <key>StatusBarVisibility</key> 
    328                                 <false/> 
    329                         </dict> 
    330                         <key>Geometry</key> 
    331                         <dict> 
    332                                 <key>Frame</key> 
    333                                 <string>{{0, -1}, {1016, 966}}</string> 
    334                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    335                                 <true/> 
    336                                 <key>RubberWindowFrame</key> 
    337                                 <string>466 188 1016 986 0 0 1920 1178 </string> 
    338                         </dict> 
    339                 </dict> 
    340                 <dict> 
    341                         <key>Content</key> 
    342                         <dict> 
    343                                 <key>PBXProjectModuleGUID</key> 
    344                                 <string>E150469A0CFD567100DE47E9</string> 
    345                                 <key>PBXProjectModuleLabel</key> 
    346                                 <string>PSTimeDateEditor.m</string> 
    347                                 <key>PBXSplitModuleInNavigatorKey</key> 
    348                                 <dict> 
    349                                         <key>Split0</key> 
    350                                         <dict> 
    351                                                 <key>PBXProjectModuleGUID</key> 
    352                                                 <string>E150469B0CFD567100DE47E9</string> 
    353                                                 <key>PBXProjectModuleLabel</key> 
    354                                                 <string>PSTimeDateEditor.m</string> 
    355                                                 <key>_historyCapacity</key> 
    356                                                 <integer>0</integer> 
    357                                                 <key>bookmark</key> 
    358                                                 <string>E15046B60CFD5BA600DE47E9</string> 
    359                                                 <key>history</key> 
    360                                                 <array> 
    361                                                         <string>E150469C0CFD567100DE47E9</string> 
    362                                                 </array> 
    363                                         </dict> 
    364                                         <key>SplitCount</key> 
    365                                         <string>1</string> 
    366                                 </dict> 
    367                                 <key>StatusBarVisibility</key> 
    368                                 <false/> 
    369                         </dict> 
    370                         <key>Geometry</key> 
    371                         <dict> 
    372                                 <key>Frame</key> 
    373                                 <string>{{0, -1}, {889, 678}}</string> 
    374                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    375                                 <true/> 
    376                                 <key>RubberWindowFrame</key> 
    377                                 <string>102 123 889 698 0 0 1920 1178 </string> 
    378                         </dict> 
    379                 </dict> 
    380                 <dict> 
    381                         <key>Content</key> 
    382                         <dict> 
    383                                 <key>PBXProjectModuleGUID</key> 
    384                                 <string>E15046A60CFD567100DE47E9</string> 
    385                                 <key>PBXProjectModuleLabel</key> 
    386                                 <string>PSAlarmNotifierController.m</string> 
    387                                 <key>PBXSplitModuleInNavigatorKey</key> 
    388                                 <dict> 
    389                                         <key>Split0</key> 
    390                                         <dict> 
    391                                                 <key>PBXProjectModuleGUID</key> 
    392                                                 <string>E15046A70CFD567100DE47E9</string> 
    393                                                 <key>PBXProjectModuleLabel</key> 
    394                                                 <string>PSAlarmNotifierController.m</string> 
    395                                                 <key>_historyCapacity</key> 
    396                                                 <integer>0</integer> 
    397                                                 <key>bookmark</key> 
    398                                                 <string>E15046B70CFD5BA600DE47E9</string> 
    399                                                 <key>history</key> 
    400                                                 <array> 
    401                                                         <string>E15046760CFD507900DE47E9</string> 
    402                                                 </array> 
    403                                         </dict> 
    404                                         <key>SplitCount</key> 
    405                                         <string>1</string> 
    406                                 </dict> 
    407                                 <key>StatusBarVisibility</key> 
    408                                 <false/> 
    409                         </dict> 
    410                         <key>Geometry</key> 
    411                         <dict> 
    412                                 <key>Frame</key> 
    413                                 <string>{{0, -1}, {820, 819}}</string> 
    414                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    415                                 <true/> 
    416                                 <key>RubberWindowFrame</key> 
    417                                 <string>613 82 820 839 0 0 1920 1178 </string> 
     238                                <string>840 106 1052 933 0 0 1920 1178 </string> 
    418239                        </dict> 
    419240                </dict> 
     
    481302                                                                                <string>29B97314FDCFA39411CA2CEA</string> 
    482303                                                                                <string>080E96DDFE201D6D7F000001</string> 
    483                                                                                 <string>F560E311035787D501A4E466</string> 
    484                                                                                 <string>29B97317FDCFA39411CA2CEA</string> 
    485                                                                                 <string>E10E71F3040C335800050002</string> 
    486                                                                                 <string>E19DCBE503BE516000B934BF</string> 
    487                                                                                 <string>E17562BC0CF8E7A800FC5057</string> 
     304                                                                                <string>F560E312035787E001A4E466</string> 
     305                                                                                <string>19C28FACFE9D520D11CA2CBB</string> 
    488306                                                                        </array> 
    489307                                                                        <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key> 
    490308                                                                        <array> 
    491309                                                                                <array> 
    492                                                                                         <integer>22</integer> 
    493                                                                                         <integer>4</integer> 
     310                                                                                        <integer>11</integer> 
     311                                                                                        <integer>7</integer> 
    494312                                                                                        <integer>1</integer> 
    495313                                                                                        <integer>0</integer> 
     
    497315                                                                        </array> 
    498316                                                                        <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> 
    499                                                                         <string>{{0, 596}, {334, 441}}</string> 
     317                                                                        <string>{{0, 0}, {334, 441}}</string> 
    500318                                                                </dict> 
    501319                                                                <key>PBXTopSmartGroupGIDs</key> 
     
    516334                                                                </array> 
    517335                                                                <key>RubberWindowFrame</key> 
    518                                                                 <string>1570 647 351 527 0 0 1920 1178 </string> 
     336                                                                <string>1565 182 351 527 0 0 1920 1178 </string> 
    519337                                                        </dict> 
    520338                                                        <key>Module</key> 
     
    556374                                                                        <array> 
    557375                                                                                <array> 
     376                                                                                        <integer>3</integer> 
    558377                                                                                        <integer>0</integer> 
    559378                                                                                </array> 
     
    656475                        <key>TableOfContents</key> 
    657476                        <array> 
    658                                 <string>E15046720CFD4F8A00DE47E9</string> 
    659                                 <string>E15046730CFD4F8A00DE47E9</string> 
     477                                <string>E126D5AC0D0003070024B2EA</string> 
     478                                <string>E126D5AD0D0003070024B2EA</string> 
    660479                                <string>1C9437FD063B20B00039CFAC</string> 
    661480                                <string>1C9437FE063B20B00039CFAC</string> 
     
    690509        <key>WindowOrderList</key> 
    691510        <array> 
    692                 <string>1C530D54069F1CE1000CFCEE</string> 
    693                 <string>E15046A60CFD567100DE47E9</string> 
    694                 <string>1C530D52069F1CE1000CFCEE</string> 
    695                 <string>E150469A0CFD567100DE47E9</string> 
    696                 <string>1C530D5B069F1CE1000CFCEE</string> 
    697                 <string>1C530D57069F1CE1000CFCEE</string> 
    698                 <string>E150469E0CFD567100DE47E9</string> 
    699                 <string>E15046930CFD567100DE47E9</string> 
    700                 <string>E150468D0CFD567100DE47E9</string> 
     511                <string>E126D5AE0D0003070024B2EA</string> 
    701512                <string>/Users/nicholas/Documents/Development/Pester/Source/Pester.xcodeproj</string> 
    702513        </array> 
    703514        <key>WindowString</key> 
    704         <string>1570 647 351 527 0 0 1920 1178 </string> 
     515        <string>1565 182 351 527 0 0 1920 1178 </string> 
    705516        <key>WindowToolsV3</key> 
    706517        <array> 
     
    855666                                        <array> 
    856667                                                <dict> 
    857                                                         <key>BecomeActive</key> 
    858                                                         <true/> 
    859668                                                        <key>ContentConfiguration</key> 
    860669                                                        <dict> 
     
    862671                                                                <string>1CD0528F0623707200166675</string> 
    863672                                                                <key>PBXProjectModuleLabel</key> 
    864                                                                 <string>PSAlarm.m</string> 
     673                                                                <string></string> 
    865674                                                                <key>StatusBarVisibility</key> 
    866675                                                                <true/> 
     
    871680                                                                <string>{{0, 0}, {930, 253}}</string> 
    872681                                                                <key>RubberWindowFrame</key> 
    873                                                                 <string>928 514 930 535 0 0 1920 1178 </string> 
     682                                                                <string>629 565 930 535 0 0 1920 1178 </string> 
    874683                                                        </dict> 
    875684                                                        <key>Module</key> 
     
    879688                                                </dict> 
    880689                                                <dict> 
     690                                                        <key>BecomeActive</key> 
     691                                                        <true/> 
    881692                                                        <key>ContentConfiguration</key> 
    882693                                                        <dict> 
     
    895706                                                                <string>{{0, 258}, {930, 236}}</string> 
    896707                                                                <key>RubberWindowFrame</key> 
    897                                                                 <string>928 514 930 535 0 0 1920 1178 </string> 
     708                                                                <string>629 565 930 535 0 0 1920 1178 </string> 
    898709                                                        </dict> 
    899710                                                        <key>Module</key> 
     
    918729                        <array> 
    919730                                <string>1C530D52069F1CE1000CFCEE</string> 
    920                                 <string>E150467F0CFD54FF00DE47E9</string> 
     731                                <string>E19CC6530CFDF6940079DCFC</string> 
    921732                                <string>1CD0528F0623707200166675</string> 
    922733                                <string>XCMainBuildResultsModuleGUID</string> 
     
    925736                        <string>xcode.toolbar.config.buildV3</string> 
    926737                        <key>WindowString</key> 
    927                         <string>928 514 930 535 0 0 1920 1178 </string> 
     738                        <string>629 565 930 535 0 0 1920 1178 </string> 
    928739                        <key>WindowToolGUID</key> 
    929740                        <string>1C530D52069F1CE1000CFCEE</string> 
     
    960771                                                                                <key>sizes</key> 
    961772                                                                                <array> 
    962                                                                                         <string>{{0, 0}, {445, 375}}</string> 
    963                                                                                         <string>{{445, 0}, {536, 375}}</string> 
     773                                                                                        <string>{{0, 0}, {445, 380}}</string> 
     774                                                                                        <string>{{445, 0}, {536, 380}}</string> 
    964775                                                                                </array> 
    965776                                                                        </dict> 
     
    976787                                                                                <key>sizes</key> 
    977788                                                                                <array> 
    978                                                                                         <string>{{0, 0}, {981, 375}}</string> 
    979                                                                                         <string>{{0, 375}, {981, 343}}</string> 
     789                                                                                        <string>{{0, 0}, {981, 380}}</string> 
     790                                                                                        <string>{{0, 380}, {981, 338}}</string> 
    980791                                                                                </array> 
    981792                                                                        </dict> 
     
    1010821                                                                        </array> 
    1011822                                                                        <key>Frame</key> 
    1012                                                                         <string>{{445, 0}, {536, 375}}</string> 
     823                                                                        <string>{{445, 0}, {536, 380}}</string> 
    1013824                                                                        <key>RubberWindowFrame</key> 
    1014825                                                                        <string>843 200 981 759 0 0 1920 1178 </string> 
     
    1038849                        <array> 
    1039850                                <string>1C530D54069F1CE1000CFCEE</string> 
    1040                                 <string>E15046800CFD54FF00DE47E9</string> 
     851                                <string>E19CC6130CFDF0FB0079DCFC</string> 
    1041852                                <string>1C162984064C10D400B95A72</string> 
    1042                                 <string>E15046810CFD54FF00DE47E9</string> 
    1043                                 <string>E15046820CFD54FF00DE47E9</string> 
    1044                                 <string>E15046830CFD54FF00DE47E9</string> 
    1045                                 <string>E15046840CFD54FF00DE47E9</string> 
    1046                                 <string>E15046850CFD54FF00DE47E9</string> 
     853                                <string>E19CC6140CFDF0FB0079DCFC</string> 
     854                                <string>E19CC6150CFDF0FB0079DCFC</string> 
     855                                <string>E19CC6160CFDF0FB0079DCFC</string> 
     856                                <string>E19CC6170CFDF0FB0079DCFC</string> 
     857                                <string>E19CC6180CFDF0FB0079DCFC</string> 
    1047858                        </array> 
    1048859                        <key>ToolbarConfiguration</key> 
     
    1076887                                                                                <string>1CDD528C0622207200134675</string> 
    1077888                                                                                <key>PBXProjectModuleLabel</key> 
    1078                                                                                 <string>PSAlarm.m</string> 
     889                                                                                <string>&lt;No Editor&gt;</string> 
    1079890                                                                                <key>StatusBarVisibility</key> 
    1080891                                                                                <true/> 
     
    1134945                        <array> 
    1135946                                <string>1C530D57069F1CE1000CFCEE</string> 
    1136                                 <string>E15046870CFD54FF00DE47E9</string> 
    1137                                 <string>E15046880CFD54FF00DE47E9</string> 
     947                                <string>E19CC6280CFDF14A0079DCFC</string> 
     948                                <string>E19CC6290CFDF14A0079DCFC</string> 
    1138949