#ifndef YSOBJECT_H
#define YSOBJECT_H

#define BOOL int

@protocol YSObject
+(void) load;
+(void) initialize;
+(id) alloc;
+(id) new;
+(Class) class;
-(void) dealloc;
-(id) init;
+(Class) superclass;
-(Class) superclass;
+(Class) class;
-(BOOL) isEqual: (id) anObject;
+(BOOL) isKindOfClass: (Class) theClass;
@end

@interface YSObject <YSObject> {
    Class isa;
}

+(void) load;
+(void) initialize;
+(id) alloc;
+(id) new;
+(Class) class;
-(void) dealloc;
-(id) init;
+(Class) superclass;
-(Class) superclass;
+(Class) class;
-(BOOL) isEqual: (id) anObject;
+(BOOL) isKindOfClass: (Class) theClass;

@end

#endif