







#import "WhoBandLockHueCell.h"
#define zeroTab(its) __weak typeof(its) weak##its = its;
#define dryButton(its) __strong typeof(its) its = weak##its;

@interface WhoBandLockHueCell()



@property (nonatomic, strong) NSTimer *coast;

@property (nonatomic, assign) BOOL radioUserMedia;

@end

@implementation WhoBandLockHueCell

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:CGRectZero];
    if (self) {
        
        _penFootSize = CGSizeMake(200, 40);
        _barRawEither = 4;
        _model = nil;
        _channelCount = 3;
        _endNot = 0;
        _bandwidthPlace = 0;
        _status = ScrollingActionSigmoidChainPrepExponent;
        _radioUserMedia = NO;
        
    }
    return self;
}

- (void)extendingMeanRecursiveCornersUserValue
{
    CGFloat verySide = [[self.layer presentationLayer] frame].origin.x;
    CGFloat cursorsWidth = self.frame.size.width;
    
    
    CGFloat speed = (self.superview.frame.size.width + cursorsWidth) / self.barRawEither;
    
    
    CGFloat ironLeastTime = cursorsWidth / speed;
    
    if (_bandwidthPlace > 0) {
        self.status = DeepLateTraitMagicSampleEnable;
        if (-1< verySide < 1) {
            
            if (_radioUserMedia) { return;}
            _radioUserMedia = YES;
            [self pause];
            [self performSelector:@selector(resume) withObject:nil afterDelay:_bandwidthPlace];
            [self performSelector:@selector(socialStatus) withObject:nil afterDelay:_bandwidthPlace - ironLeastTime];
        }
    }
}
- (void)socialStatus
{
    self.status = ComponentProducerPassArrivalTailDemand;
}

- (void)annotatedLiveQualifiedAdjectiveSerbian:(void(^)(void))animations completion:(void(^)(BOOL))completion
{
    self.status = ComponentProducerPassArrivalTailDemand;
    
    _coast = [NSTimer timerWithTimeInterval:0.01 target:self selector:@selector(extendingMeanRecursiveCornersUserValue) userInfo:nil repeats:YES];
    [[NSRunLoop currentRunLoop] addTimer:_coast forMode:NSRunLoopCommonModes];
    
    
    zeroTab(self);
    [UIView animateWithDuration:self.barRawEither delay:0 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction) animations:^{
        
        if (animations) {
            animations();
        }
        
    } completion:^(BOOL finished) {
        dryButton(self);
        self->_status = ComponentProducerPassArrivalTailDemand;
        
        if (completion) {
            completion(finished);
        }
        
        if(self->_coast) {
            [self->_coast invalidate];
            self->_coast = nil;
        }
        
    }];
}

- (void)pause
{
    
    CFTimeInterval videoTime = [self.layer convertTime:CACurrentMediaTime() fromLayer:nil];
    
    
    self.layer.timeOffset = videoTime;
    
    
    self.layer.speed = 0;
}

- (void)resume
{
    
    CFTimeInterval videoTime = self.layer.timeOffset;
    
    CFTimeInterval lateEffectAuto = CACurrentMediaTime() - videoTime;
    
    self.layer.timeOffset = 0;
    
    self.layer.beginTime = lateEffectAuto;
    
    self.layer.speed = 1;
}


@end
