mYotxGkCHWofaBdVdTobtMhHbZoWuWDFHwQohZolJyfYJqVPBElYHZBxqBShSvQyVJfOVLfnXUmvNgl100 = "dDOvNWchOgbvbQDvUDSlbeAroyvEOfHeyDLjDxLyrdooAHiDlrgBHJQlqCMdTYJhpNMWNzWRMBPjpVU"
wkaRNJnfbwEKRiksXXBoMMzNLsNcPzRNIToxRIbJxByaWgERccDCqUFMsXEXKhNCjiukKnGJlfoywre98 = 806
AAAAaaAaAAAaaAAaaAaAaaaAAaAaAAaaaaaaaAaAAAaaaAaAAaAAaaaAaaaAAAAaaaaAaAaaaaaaaaaAaAaaaaAaaaaAAAaA = "JgxuJpFRhYDnRUCivVBxwJjUbCHzcloNhokEqzvRPHFEAIXgPEoXZYkajzxsPzNVfNmtvNilRVSqaMQ"
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC = 167
YFLEdxZKQpKIzKTzVtJwFUrAbbgVttCQUiDNzWegwdqOZVngIcPROZbxHkbGEZDwWWVbueuLfrusemh92 = "SlWjWEkSaUQoBcBcBKsQSnpRRjFnrqVdzUkrlKIUiPNgNVRfcaHAZCxUadUnugtrBMDUkOdgBRrVKMy"
lllIllIIllIIllIIIIlIIIIIIlllIlIllIllllllllIlIlllIlIlllIllIllIlIIlIllIIIIIIlIllllllIIllllll = 114
lllllIlllIlIllIIIIlIlllIIlllIIIIIlIIllIIlIlIIIIIllIIIIIIllIIlllIlIIIIIIllIllIIlIIIIllIII = 451
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc = "JmeieSBAZWXTEuAJmGTAroEmxNOQmzZgUedJqAoYMndYwNEXMVZMiaqujfUfbqlWJkVodAXkuXcYEWG"
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB = 365
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG = "GMjwoPgaRIUSVmpakZUuBZDbRvtFAfgIfRXuItMZSjMTmSvpBdoCiLLlaxjNlLTJuinCKAXnspVascy"
H1655195582878416380 = "pxAqBmhkEbxgabvnheEeilAUXLZPlcOxohmeqxAIKLerxOAjhluBubjbDpXfcjXrgSUEVhbfagbTSxU"
AAAAAaaaAaaAAaAaAaaaAaAAAaAaAaAAAaaAaaAAaAAaaAaAAAAaAaaAAAAaAaaaAaaAAAaAaAaAAa = "usHchqaGuxzLGqfuKqziIBFXAoCBXPyBtWFsQtAjmbExzWhgXZThBIeSpiyyKYgufaFvcqJeHpHQTsf"
M1655195582878416376 = 316
Q1655195582878416374 = 243
G1655195582878416372 = 391
PyPRDTzJRqzGmTzpQqWVhhTkWJpvbdtxNKEkqgpvTSRJNKiVeYaRmgzunpSOQdYzllVidOCRiVnjeFH70 = 569
y1655195582878416368 = 619
lllIlIIlIIlIlIIlIlIlIIllIlIlIlIllllllIIIllllIIIlIllIIllIIIIlIIlIII = "YdZrCCJOPtswSPsaTtctrcxqHWbdWBKAQecgStizZwAOdZZhIXwQYPzRLlgIEgNIVWmtKTaGbJaxPND"
v64 = 380
J62 = "UtHbVVLtPyCPJOuyozJKgtQreiddYYWIefUkPyjbmhXOMzUxCIojlbcOARdiHOPPqPDhuPdmtERVJAV"
aAAaAAAaAAaaaaaaAaaaaaaAAaAaaAaAaaaaaAAAaAaaaAAaaAaAaAAAaAAA = 274
aaaAAAaAaAAAaAAaaaAaaaAAAaAaaAAaaAAAAAaAAaaaaaaAaAaaaAAaAa = 286
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP = "thCojphegurUzsQLApUOKpFaORGpfpXynJdaOjQRHDfIPyEjdkazeDOKtAyPvYIWbLteJtbUIoQTYfU"
aAaAaaaAaAAaAaaaaaAAaaaaAAaAAaAAaaaaaAaAaAAaaaaAaaAaaa = "JHjVgYSMQWHvPTIMKWGYdZAPzZjBqGcCMGaPjtBJuWaePjuBODgGuNmibtQwABZdPqQEqItfYmTaOri"
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL = "xLGSQrInQZhACPfgySUXssRLmsONhkzYiNjxJZKVOwRwyPDGoRwXhGFIxzZiaKgAfsZSSefPCDMzSKR"
FlHMoArPIeVsXNcbPFBsWOWVIChLSRgSuAsQRLIwEcornboqPZwmztheiRluUatGYuuCVlQOZwSzBSU50 = "gpqLgjkXoAcyfojTjZnsSJcvhKcfjqIhdqEeHgLXkVMgahgVhPOwIzNNVvydgTpgdWkWSAQYtnKvjYm"
jnbnurwsXlwhhoivCYFXZAXtKYfKKSOQeSHBzTkLFQtIQzgnyZZvgxowUHCZLKUXHOiGlfEJcilTHKb48 = "sWkdVoHwVpMqGsyMtbTwBjOViCiWhFNOzNUTCicWtXIhhOZbVQigsBTXkvrcCTsuPlMyRkDctJLvUSK"
f46 = 333
aaaAAaAAAAaAAaaAaAAaAAaAAAAaAAaaaAAAAaaaaaaa = "lLiVuEhxtHaOvCRvuaVrFisMcSSSdVAeEWWJBipFKvqMBaEkWTZgkaFQFnsGtqWKoJkHgSLjiQIsoFF"
Z165519558287539542 = 400
aAAAaAaAaAAaAAAaaAaAAaaAaAaAAAAaaAaaAAAA = "WELIerRLsGGjVNtZeofjCyUuGsKfjLREniJoluimxENHwPWVfVtbSjPyGaYBukdobEFTRzFzgArkFqu"
AAaAaAAaaaAAAaaaaAaAaAAaAAaAAaaaAAaaAA = 453
M165519558287539536 = 382
O165519558287539534 = "YZvwoFutcdkOnCXzjZnVMJFxtFPhcGOnhgMFkxXefaXrxAAYaoRVPqbcYouBQrfzcrVHDKoDVSrurHp"
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW = 132
aAaAaaaAaaAAAaaaAAAAaaAaaaAAaA = 246
W165519558287539528 = "eDEdfTVdWSRNdlfdxgggqQXywjOzZLqprCzFANJfQopQvOwKnqlmrgwmYCZXrYzCPmmREhAffwhFwMy"
lIIIlIIllllIIIlllIIIlIllIl = 317
jjjjjjjjjjjjjjjjjjjjjjjj = "WPdiWXRLVzYJVHDuZOUoNsZIJJpHwTcrtDNThzschbNodiUSxsOIjSXMAdYuWtsKhPXZlIkLHHZpybw"
KaqwoUaYQcfXFDArwroTnosSXGAvMffadzyPdBUJznWjeyisSVgrmcCrkzrjAAbgoTMkENTgkozKOuv22 = 262
SGoukqsboJRnVjwMgGpPMicwHvPeroTxwAjuZYvSpuQVfZbvixzmGQUxTSauQrlZzxZvcXjIhxJpmna20 = "LDvGFmSCHYYKcHVMmFqGgoMOfXrgHuPSvMubbmDHSRjOrjYTwIeYfqkKzkBCGhfCYytjBpJKSyCDOBm"
b18 = 404
YYYYYYYYYYYYYYYY = 338
q1655195582874394714 = "RQgVZoEcBLcHISmKJUzOpFOlmnlSvhFLNIbzlzLiqOxAbYvxXBoOPcvqJaqcvoyMIAzzJnSBNEkbqno"
IlllllIlllll = "VdDAwiBtdJszygqWMhTUsiFTogoPfhZKfAFzoWKNYpRHDQKhCQnhHnwAteqirAZSsjWgJNEGPBTZmdJ"
skNChOlgHGQTFNQjSYJHrAttBQFJoReEaexYTzgxBuqQDPdySpOcYigsCdVQrmRJGqoFeWihjvcEqSh10 = "VqBMnKcfKZxeFhoYNlXwzZblCMolauIIOiveBxPQxuZnjysLGpawMdJZcznjvNoGpHutknJBsijxEKJ"
C8 = "wDZLOJJAhbVJemttknrPtmiWrjkrwFeqYyIxSQpXhrLTalDWoMVGmkbxGKtdmviyBOSYJqMbhpkJHBs"
JdxYCjmxqDgMJKUpakdpoaVKudaVpvIzVRwOWXyZFOrKsOPSiboznSDHBkdSiZwIXTSKksCmLuvyZFv6 = "GTIhTpfSziXBnWzGWKUwKWmffXFzKvtbqENcuNIJLpBPMgmAFuEPTgbxDcBdxBzqXwRTdSEnMGVjbDr"
A165519558287339454 = "ccVALImaaozXfrHGxKlCFCiIhBZduoWGXjpOgooXYiWwpkLbzbHfdpASumLSxoyyBDxCoAwhZTLViHr"
P165519558287339452 = 435

import warnings
import numpy as np
from sklearn.base import TransformerMixin, BaseEstimator
import random ## TODO replace by np.random
import scipy.interpolate as interpolate

############################
##    HELPERS FUNCTIONS   ##
############################

def anglePointFixe(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44,HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35,h165519558278939636,A34,AAAaaaaaaaaAAaAaAAAaAaAAaAAAaaAAa):   
    if eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 <= HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35:
        return(A34*(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44-HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35)+h165519558278939636)
    else:
        return(AAAaaaaaaaaAAaAaAAAaAaAAaAAAaaAAa*(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44-HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35)+h165519558278939636)

AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa = np.vectorize(anglePointFixe)


def segment_length(Y165519558276941563,zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4,nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5,htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6):
    return(np.sqrt((nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5-Y165519558276941563)**2+(htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6-zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4)**2))

A165519558276941562 = np.vectorize(segment_length)


def spectrum_length(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44,AAAaAAAAAAaAAaAAAaAa):
    Y165519558276941563 = eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44[range((len(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44)-1))]
    zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4 = AAAaAAAAAAaAAaAAAaAa[range((len(AAAaAAAAAAaAAaAAAaAa)-1))]
    nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5 = eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44[range(1,len(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44))]
    htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6 = AAAaAAAAAAaAAaAAAaAa[range(1,len(AAAaAAAAAAaAAaAAAaAa))]
    lIIIlll = A165519558276941562(Y165519558276941563,zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4,nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5,htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6)
    AAAaaaaA = np.sum(lIIIlll)
    llIIlIlIl = np.cumsum(lIIIlll)
    return(AAAaaaaA,lIIIlll,llIIlIlIl) 
    
def segment_pt_coord(Y165519558276941563,zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4,nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5,htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6,LaxXRcxVRJYrzhtRllSCcRMfYTfsDKJWdyFWZuiMkiEJntcaqrBKolNSDPKkanEYRUJxeDciVNsdxTV67,aaAaAaaAaAaAaaaAAaaAaaaaaaaAaaAaaaAAaAAAaAAaAaAAAAaAAAAAAAaaaaAAAAaA):
    llIlllIIlI = LaxXRcxVRJYrzhtRllSCcRMfYTfsDKJWdyFWZuiMkiEJntcaqrBKolNSDPKkanEYRUJxeDciVNsdxTV67/aaAaAaaAaAaAaaaAAaaAaaaaaaaAaaAaaaAAaAAAaAAaAaAAAAaAAAAAAAaaaaAAAAaA
    O1655195582774415311 = Y165519558276941563 + llIlllIIlI*(nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5-Y165519558276941563)
    IllIlIIIlIII = zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4 + llIlllIIlI*(htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6-zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4)
    return(O1655195582774415311,IllIlIIIlIII)        

def interval_selection(ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp,CumVect):
    IlllIIllllIII = np.where(ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp<=CumVect) 
    h165519558277642114 = np.where(ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp>=CumVect)
    return(np.min(IlllIIllllIII),np.max(h165519558277642114))
    
def nearest_x(x_test,vx):
    aaaaAaaaaaaAaaa=0
    SIobuJcqJGenGHfoNDaIoyhajIWpXssScBqCijlesmXDlbBIXxGkbddyYallhEfFXHcjBTXyMhaxCZb16 = abs(x_test-vx[aaaaAaaaaaaAaaa])
    for i in range(1,len(vx)):
        CqRaPgNVdtfTGpOXVmGAduBKvXsqTqNbLIzvCimRhJuKSvVGWtfMKmJHsCZgunJToItoeRsWVcsHchE17 = abs(x_test-vx[i])
        if CqRaPgNVdtfTGpOXVmGAduBKvXsqTqNbLIzvCimRhJuKSvVGWtfMKmJHsCZgunJToItoeRsWVcsHchE17 < SIobuJcqJGenGHfoNDaIoyhajIWpXssScBqCijlesmXDlbBIXxGkbddyYallhEfFXHcjBTXyMhaxCZb16: 
            SIobuJcqJGenGHfoNDaIoyhajIWpXssScBqCijlesmXDlbBIXxGkbddyYallhEfFXHcjBTXyMhaxCZb16=CqRaPgNVdtfTGpOXVmGAduBKvXsqTqNbLIzvCimRhJuKSvVGWtfMKmJHsCZgunJToItoeRsWVcsHchE17
            aaaaAaaaaaaAaaa=i
    return(aaaaAaaaaaaAaaa)        


#####################
##    GENERATORS   ##
#####################
    # def fit_transform(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa=None, **fit_params):
    #     return super().fit_transform(O1655195582786395330, AAAaAAAAAAaAAaAAAaAa)
    
    # def fit(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa = None):
    #     return super().fit(O1655195582786395330, AAAaAAAAAAaAAaAAAaAa)

    # def transform(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa):
    #     return super().transform(O1655195582786395330,AAAaAAAAAAaAAaAAAaAa)
        


class Augmenter(TransformerMixin, BaseEstimator):
    
    def __init__(self, IIlIlIlllIlIIlIllllIll = 1):
        self.count = IIlIlIlllIlIIlIllllIll

    def fit_transform(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa=None, **fit_params):
        return self.transform(O1655195582786395330, AAAaAAAAAAaAAaAAAaAa)
    
    def fit(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa = None):
        return self

    def augment(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa):
        ntJJphlWQXuvOXouwVcvSMxXNyrDsNjclITYjzocQjJlPiXiFELryLdevGmojuPFWkzIvIwuNshqEqq26 = O1655195582786395330.copy()
        M27 = AAAaAAAAAAaAAaAAAaAa.copy()
        return ntJJphlWQXuvOXouwVcvSMxXNyrDsNjclITYjzocQjJlPiXiFELryLdevGmojuPFWkzIvIwuNshqEqq26, M27

    def transform(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa):
        self.init_size = len(O1655195582786395330)
        for i in range(len(O1655195582786395330)):
            for AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa in range(self.count):
                newX, T1655195582785416629 = self.augment(O1655195582786395330[i], AAAaAAAAAAaAAaAAAaAa[i])
                if isinstance(newX, np.ndarray):
                    O1655195582786395330 = np.vstack([O1655195582786395330, newX])
                    AAAaAAAAAAaAAaAAAaAa = np.vstack([AAAaAAAAAAaAAaAAAaAa, T1655195582785416629])
        return O1655195582786395330, AAAaAAAAAAaAAaAAAaAa
    
    def inverse_transform(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa):
        return O1655195582786395330[0:self.init_size], AAAaAAAAAAaAAaAAAaAa[0:self.init_size]
    
    def _more_tags(self):
        return {'allow_nan': False}
    
    
    
class SampleAugmentation(Augmenter):
    def augment(self, O1655195582786395330, AAAaAAAAAAaAAaAAAaAa):
        return None, None
    
class Rotate_Translate(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ rotate and translate signal """
        e32 = np.linspace(0, 1, len(spectrum))
        AAAaaaaaaaaAAaAaAAAaAaAAaAAAaaAAa = random.uniform(-2,2)
        A34 = random.uniform(-2,2)
        HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35 = random.uniform(0,1)
        h165519558278939636 = random.uniform(0,np.max(spectrum)/3)
        jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37 = AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa(e32,HhnIuwlQbRKXnURZHbsqPNtBVhYUAkJPaJxxbGjkaBynfyBmCUGALidROFGxxTjMgOcVIPkTTRJFvbQ35,h165519558278939636,A34,AAAaaaaaaaaAAaAaAAAaAaAAaAAAaaAAa)
        jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37 = jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37*np.std(spectrum)
        FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 = spectrum + jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37
        # FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39[FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 < 0] = 0
        return np.array(FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39), AAAaAAAAAAaAAaAAAaAa
    
    

class Monotonous_Spline_Simplification(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Select regularly spaced points along x_axis and adjust a s1655195582800395549 """
        YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY = len(spectrum)
        IIllIIIIlllIlIIIlIIlIIIlIIllIIllIIIlIIIIl = np.arange(0, YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY, 1)
        r42 = 60

        EPaQiuNmVILFLGdQNAVtnpAUyGYYtQgxHPtdrnTzTZeOhpQkNuGDqsKzdNEYolAZHmPnEVCINpMuAFU43 = np.unique(np.concatenate(([0],random.sample(range(YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY),r42),[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-1])))
        EPaQiuNmVILFLGdQNAVtnpAUyGYYtQgxHPtdrnTzTZeOhpQkNuGDqsKzdNEYolAZHmPnEVCINpMuAFU43.sort()
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = IIllIIIIlllIlIIIlIIlIIIlIIllIIllIIIlIIIIl[EPaQiuNmVILFLGdQNAVtnpAUyGYYtQgxHPtdrnTzTZeOhpQkNuGDqsKzdNEYolAZHmPnEVCINpMuAFU43]
        AAAaAAAAAAaAAaAAAaAa = spectrum[EPaQiuNmVILFLGdQNAVtnpAUyGYYtQgxHPtdrnTzTZeOhpQkNuGDqsKzdNEYolAZHmPnEVCINpMuAFU43]
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa = interpolate.splrep(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44, AAAaAAAAAAaAAaAAAaAa, AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA=0, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa=3)
        s1655195582800395549 = interpolate.BSpline(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa, E1655195582800395550=False)
        
        return s1655195582800395549(IIllIIIIlllIlIIIlIIlIIIlIIllIIllIIIlIIIIl), AAAaAAAAAAaAAaAAAaAa


class Dependent_Spline_Simplification(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Select regularly spaced points ON the spectrum and adjust a s1655195582800395549 """
        YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY = len(spectrum)
        drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52 = np.linspace(0, np.max(spectrum), YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)
        P53 = spectrum_length(drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52,spectrum)
        AaaAAaaaaaaaAaaaaAAaAaaAAaaaaAAaaAaAaaaAaaAAaaaaaaaAaA = 10
        IIlIlIlIIIlIlIIIIllIlIllIIlllllIllIllIIllIIllIIIIIIIIIl = []
        AaaaaaaAaAaaaAaaaaAaaAAAAAAAaaAaAaaAAAAaAaaAaaAAaaaaAaAA = []

        for AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA in range(1,AaaAAaaaaaaaAaaaaAAaAaaAAaaaaAAaaAaAaaaAaaAAaaaaaaaAaA):
            AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa = spectrum_length(drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52,spectrum)[0] / AaaAAaaaaaaaAaaaaAAaAaaAAaaaaAAaaAaAaaaAaaAAaaaaaaaAaA
            # aaaAaAAAAAaAAaaaaaaaAAaAaaAaAAaaaaAaAAaaaAAAAAAAaAAAaAAaAA = np.cumsum(np.repeat(AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa,AaaAAaaaaaaaAaaaaAAaAaaAAaaaaAAaaAaAaaaAaaAAaaaaaaaAaA))
            ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp = AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA*AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa
            H60 = P53[2]
            blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61 = interval_selection(ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp,H60)
            IIIlIlIIlIIlIllllIlIllllIIlIIIlIIIlIIlIllIllIllIIIIIllIIllIlIl = segment_pt_coord(
                Y165519558276941563=drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52[blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[1]],
                zMpyPJjnNWFhRfpwARoniwwJKELFTTayXPksjNlAhxpZFLsHLBValVWzulltRcLEFxMJbFmlZHCwdFq4=spectrum[blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[1]],
                nqjDPlPKImakuPauEKMZBNJYmGPuRpYykevtNFymLGfjidskqvzNPufDnCpPKrWRsbOlugbxYSHOFNj5=drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52[blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[0]],
                htRAsoxSTCFxiufxXZEzOphdxQujuWTZHTTelDdGSKqLrAAzNMHRemUjlYLnsvobgZTvYgNkHDrjRYM6=spectrum[blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[0]],
                LaxXRcxVRJYrzhtRllSCcRMfYTfsDKJWdyFWZuiMkiEJntcaqrBKolNSDPKkanEYRUJxeDciVNsdxTV67=P53[1][blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[1]]%AAAaaAaaAaAAaAaaaaaAAaAAAaAaaAaAaaAAAAaaAAAAaAAAaaAaaaaAa,
                aaAaAaaAaAaAaaaAAaaAaaaaaaaAaaAaaaAAaAAAaAAaAaAAAAaAAAAAAAaaaaAAAAaA=P53[1][blfBMfpRVutopZioaggHzOIIbCqzViLnakKCHmpqvSELADwGAkOEbXzXvqLcvobYORNUOTkgIkTugwi61[1]]) 

            IIlIlIlIIIlIlIIIIllIlIllIIlllllIllIllIIllIIllIIIIIIIIIl.append(IIIlIlIIlIIlIllllIlIllllIIlIIIlIIIlIIlIllIllIllIIIIIllIIllIlIl[0])
            AaaaaaaAaAaaaAaaaaAaaAAAAAAAaaAaAaaAAAAaAaaAaaAAaaaaAaAA.append(IIIlIlIIlIIlIllllIlIllllIIlIIIlIIIlIIlIllIllIllIIIIIllIIllIlIl[1])
        
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = np.array(IIlIlIlIIIlIlIIIIllIlIllIIlllllIllIllIIllIIllIIIIIIIIIl)
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = np.concatenate(([0],eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44,[np.max(drCCgMSMjGtrEtuFrpgyEKcxKtDatDLEWprXusufjYOYzXwXmWIbHPHvRpYpToeSPXmcEYrwJhrJkww52)]))
        AAAaAAAAAAaAAaAAAaAa = np.array(AaaaaaaAaAaaaAaaaaAaaAAAAAAAaaAaAaaAAAAaAaaAaaAAaaaaAaAA)
        AAAaAAAAAAaAAaAAAaAa = np.concatenate(([spectrum[0]],AAAaAAAAAAaAAaAAAaAa,[spectrum[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-1]]))
        # print(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44)
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa = interpolate.splrep(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44, AAAaAAAAAAaAAaAAAaAa, AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA=0, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa=3)
        xmin, d1655195582825415876 = eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44.min(), eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44.max()
        rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr = np.linspace(xmin, d1655195582825415876, YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)
        s1655195582800395549 = interpolate.BSpline(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa, E1655195582800395550=False)

        return s1655195582800395549(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr), AAAaAAAAAAaAAaAAAaAa

class Random_Spline_Addition(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Add s1655195582800395549 noise on AAAaAAAAAAaAAaAAAaAa """
        YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY = len(spectrum)
        IIllIIIIlllIlIIIlIIlIIIlIIllIIllIIIlIIIIl = np.arange(0, YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY, 1)
        uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu = np.max(spectrum)/80
        K1655195582832396383 = uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu/2 
        lIIlIlIllIIIlIIlIIIIIIllllllIlIllIIIlIIllIIIIlIIllIIIlIlIIlIlllllIlIlllIIlllIIIIllII = random.uniform(-K1655195582832396383, K1655195582832396383)
        IlIlIlIlIlIIlIllIIlIIlIlllIlIllllllIIIlIIlIIIIIllllIllIIIIIlllIIIllIllllIllIIlllIIIll = -K1655195582832396383 + lIIlIlIllIIIlIIlIIIIIIllllllIlIllIIIlIIllIIIIlIIllIIIlIlIIlIlllllIlIlllIIlllIIIIllII
        aaaAaAaAaAAaaaaaAAAaAAAaaAaAAaaaAaaaAaaAaaAaAAaaaaAAAAAaaaAAAAaaaAaAaaAAaaAAaAaaAAAaaA = K1655195582832396383 + lIIlIlIllIIIlIIlIIIIIIllllllIlIllIIIlIIllIIIIlIIllIIIlIlIIlIlllllIlIlllIIlllIIIIllII

        IlIlllllIllIllIllllIlIIllllllllllllllllIIlIlIlIIIlIIIlIIlIlIIIlIlIllIIIlIIIIIIIlIlllIlI = 40
        QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ = np.linspace(0, YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY,IlIlllllIllIllIllllIlIIllllllllllllllllIIlIlIlIIIlIIIlIIlIlIIIlIlIllIIIlIIIIIIIlIlllIlI)
        KazRmvxThviMXHzMAqtaCfNaIiJUSTwdxDTZwUcItwgIdxzxLlbJxJJYZGlSjHTUcueqFbTQrnttGHp89 = [random.uniform(IlIlIlIlIlIIlIllIIlIIlIlllIlIllllllIIIlIIlIIIIIllllIllIIIIIlllIIIllIllllIllIIlllIIIll,aaaAaAaAaAAaaaaaAAAaAAAaaAaAAaaaAaaaAaaAaaAaAAaaaaAAAAAaaaAAAAaaaAaAaaAAaaAAaAaaAAAaaA) for i in range(IlIlllllIllIllIllllIlIIllllllllllllllllIIlIlIlIIIlIIIlIIlIlIIIlIlIllIIIlIIIIIIIlIlllIlI)]

        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = np.asarray(QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44.sort()
        AAAaAAAAAAaAAaAAAaAa = np.asarray(KazRmvxThviMXHzMAqtaCfNaIiJUSTwdxDTZwUcItwgIdxzxLlbJxJJYZGlSjHTUcueqFbTQrnttGHp89)
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa = interpolate.splrep(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44, AAAaAAAAAAaAAaAAAaAa, AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA=0, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa=3)

        s1655195582800395549 = interpolate.BSpline(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa, E1655195582800395550=False)
        jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37 = s1655195582800395549(IIllIIIIlllIlIIIlIIlIIIlIIllIIllIIIlIIIIl)
        FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 = spectrum + jjlybTswCmTgroLPqKveIPChmHTTDAkgJGZJUmCimqDNuigIFOmTxDZnclIdtsBnfxNmJXzktGRnlty37
        # FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39[FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 < 0] = 0
        return np.array(FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39), AAAaAAAAAAaAAaAAAaAa

class Random_Y_Shift(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Additive J109 on AAAaAAAAAAaAAaAAAaAa """
        v99 = np.max(spectrum) - np.min(spectrum)
        FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 = spectrum + random.uniform(-v99,v99) / 20
        return FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39, AAAaAAAAAAaAAaAAAaAa

class Random_Multiplicative_Shift(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Multiplicative J109 on AAAaAAAAAAaAAaAAAaAa """
        FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39 = spectrum * random.uniform (-0.05, 0.05)
        return FBEVsLJqmFKicZRBfZDZwsHabvhaymEIjfjUbodoDeIxQCNGdvibwhJitlrHkZDEcedANCqJXVTxSmr39, AAAaAAAAAAaAAaAAAaAa


class Random_X_Spline_Deformation(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Random modification of eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 based on subsampled s1655195582800395549 """
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = np.arange(0, len(spectrum), 1)
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa = interpolate.splrep(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44, spectrum, AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA=0, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa=3)

        AAAaaAAAaaaAaAaAaaAAaaaaAaAaAaaAaAAaaaaAaAaAaAAAAaAaaAaAAAAAaAAAaAaAAAaaaaAAaaAAaaAaAAAAaAaaaAaaaAAaAaaaaa = int(np.around(len(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110)/20))
        ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo = np.linspace(np.min(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44), np.max(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44), AAAaaAAAaaaAaAaAaaAAaaaaAaAaAaaAaAAaaaaAaAaAaAAAAaAaaAaAAAAAaAAAaAaAAAaaaaAAaaAAaaAaAAAAaAaaaAaaaAAaAaaaaa)
        U108 = np.random.uniform(-10,10,AAAaaAAAaaaAaAaAaaAAaaaaAaAaAaaAaAAaaaaAaAaAaAAAAaAaaAaAAAAAaAAAaAaAAAaaaaAAaaAAaaAaAAAAaAaaaAaaaAAaAaaaaa)
        J109 = np.interp(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo, U108)
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110 = XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110 + J109
        s1655195582800395549 = interpolate.BSpline(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa, E1655195582800395550=True)
        return s1655195582800395549(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44), AAAaAAAAAAaAAaAAAaAa

class Random_X_Spline_Shift(Augmenter):
    def augment(self, spectrum, AAAaAAAAAAaAAaAAAaAa):
        """ Add s1655195582800395549 based eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 shift """
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = np.arange(0, len(spectrum), 1)
        J109 = random.uniform(-10,10)
        eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 = eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44 + J109
        XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa = interpolate.splrep(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44, spectrum, AAAaAAaAaaaAaaaaaaaaaaAaaaaaAaaaAaAaaaaAaaAAaAA=0, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa=3)
        s1655195582800395549 = interpolate.BSpline(XMuTyqrXIEeoNSHsLGiwRmNlPqixwlGyAWmPoCPKFApoHAuIpdeslLFpmQmRZfXdhcOPGdLFgdxzmBv110, c, AaAAaaaAAAAaAAaaAAAaAAaAAaaaAaAAAAaaAAaaaaaaAa, E1655195582800395550=False)
        return s1655195582800395549(eeDkvHgzXzwPYyFUSmJmbupLUjEctUZReoIqIAqvcjwJgLNvllsqLYJwAyAOChgVnQZUPvkLuVuBqbS44), AAAaAAAAAAaAAaAAAaAa


n165519558287339451 = "zQcmnkPksfKTwjbnfuwGAFQLxziHKdoroghnKWiFXPDmbAyEszUmoOzlJeVLgWDCZYvooCPXiDDOBWM"
aAA = "cWrbvCjihpFNuBpUazilYbUBWfHqweKUZRszDexoQsvvBXzgqyAoKvNbFLvBFRAgYUGvFAXZduIbNSu"
IIlll = 199
b165519558287339457 = "EolcbPVFOXSPzwsYnxRTpUVzrAgcTmOqKJygPpSylbZEuvHoxIvBfXTImesEdsDMkmwtPuLBJvnCrnu"
kkkkkkkkk = 520
wwwwwwwwwww = "EDsstFKjSftEgLLSJrBEcSsUVddcirVgHeqfyYJTHhIQgcmyYiJeezuyGRbOdtLkAaYorHjLZTMcocm"
AaAaaAaAaaAAA = "mMJiaFGWRTwqHzwPyLlfflqZWOejRgkZXsXSQqlOcjtyrtlwsuUxqSuXFjIoMnuJjceneTCTSaNXMhn"
xxxxxxxxxxxxxxx = "ZSlYNNaTrCQOyauIOIKRwCZZpihzmrgDsnIICzCkvhrZirYmTLFGNNZLbJkYlBzlAPxmhwsbPgWjrfG"
epQEUZYFMJAfBfoJMPrNuvDWvVRCpFrJRByOFFnQtYMlrLRnVzucUEsiXBSWtSqoZiphqpQFncaqKTs17 = 327
AaaaAaaaaAaaAaaAaAa = 431
q1655195582874394721 = "lKgAhcNsBMvWkwrsHxzKbpLQRRBLQoXrPCBAuigpfTfrtublwMTuuTAPSjIzzuNGFKxlFKUYmKcjOaC"
s23 = "EXxAcHnQpfQzqyKBnJLeTDPlVOzanikzBpuzQvuBOsVsahJvavDqUPwlkbvZTncwYjleuOQQaVFJpTZ"
V1655195582874394725 = 103
v27 = "qPhvhbxOIHiulRdCAIduKPYwuDDCxolmDCDojXReQtUXZMfIvCvNuAdmvRobMDMIWFptEmsuvAenhxA"
jgXQWqUPRqcOzdVJEINrOuVXUInmQZvRprnxzLDbUqitUCToLEirzETGQAaOaWfSiszIyFuWOfDnRPQ29 = 659
lIlIIIlllIIIlIIIllIIIlIlIlllIIl = "rgDgZdgtUQevTTPcuZlNSKYnyUlWhHPtLrehSqOsevwBJXcOotNbXzZoYkCPSwAWcxfRaSqGmaqQatJ"
AAaAaAaAaaAaAaAaAAAAAaAaAAAAaAAAA = 114
M165519558287539535 = "ZlOyGZBDdRifAGlPWasWdrpkIWfNYiLknURXXkVgdEtFiNtGtZiayIzkHKHtYjgGsGIByWTevSJNmvf"
d37 = 196
Z39 = "nBErKUsdghDhrOMnosciutBJvlAwUdgeiDgWzwrRmuUhxxnoaWauVoXfymWJzoxYaloFiMUUcqzckiD"
M41 = 288
KfgxjqJFLsGOidBFWejRorgCiTGpayLlSAXRcZPmrIOkaIXQtwrVOgXiEajGjLgtFBtIUBxNSIFHNux43 = "uyVsoDiaNFfSwHKVppAOJJHHCGkuarRjeyNOycbUsOFoVbutGWphURUtfJaoxtRrBvgPWppNofPcwZW"
PJEcxhbpWalEAyDPWePCothgytPmjxaMnBnHjMDATXakJunJfkRIikcBLTRBpjtxPmpUbQUWJsgWxzB45 = "MpgGgYbOIMFiqSqCVSeciZNIulJOPyfASzOkfgMVYFdPWMWFxhqnzjjAhTLxIoSGWqLpTVDuShCGMez"
DMFYiGGSSlFlDRfJKIyGwZkQpCsRwmnFnSiWJfBHKrACTbKfItVRuMETOiDnZoRwmYYqXpFyfJKGENi47 = 203
aAAAaaaaAAAAAaAAaAaAaaAaaAAAAaAAAaaaaaaAaaaAaaaAA = 391
l1655195582876416751 = 314
llllIllIIIIIlllIIlllllllIlIlIllIlIllIIIlIlIllIIIIIlII = "rNcZJjWUmzuvmXswWYSNzUFKoNouiWjqGlbcXnjFITKAzlSBHcFelziviZwxJvkfZkWoVUcExzlTrIS"
aaAAAAaAAAAaAaaaAAaaAaaaaaAAaAaAaaaaaAaaaAAAaAAAaaAaAAa = 214
aaAaaAaaaAaaaaaaaaaaAaAaaaaAaaaaAAAaAaAAaAAAaaAAAaaaaaaAA = 444
GetOqldQPXbxiCSstGwHrbDqomLASdeyYOCJhmPiLGZQBTpojdUoctUKOSlyquSzHEZlThRogqmXjxF59 = 271
y61 = 606
kFRJXFrvxflTHfxRVyOubTuYKLdUuxKrelJWwLhKeNAjwRqundYrMQWPQfARChhpgYlfsMfigAYJiGH63 = 427
c65 = 59
HwiQtqufunQbvVtgHThALeuGHjxdUdhPiTEnykugUsNLmoycFXTAIDtMGHGjaaTBOtMtsLelyRRvyVD67 = "gaOdNSHMNCQnhldPRUCBDTlXdsQBHEbUegxiaFHIJdqJCZgCnUwYAMbDXnlNxMimimpbaymBtqSZtXT"
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff = "aroinnVlzDolHMFpDfZZGmxqAmPerIBtzBlJYOarxQrZlVaAbRvSMXPsSpOIvvDLijzgqGDFdxGnLlj"
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv = "pXZexsKCjimgXUqLvpQIWVKfeonvANoYDKTwYCBVGlbBLkRhpwOrGwlicJmOBHvtDNlqBtXJroqVKEz"
aaaaaaaAAaaaAaAAaaaaaAaAaaAAaaaAaaaaaaAAAAaAAAAAAAaAAAAaAAAaaAaaaaAaaAAaA = 505
OOGXfPzuTuyMljMDzxMQQLEeSDSLnkLnICImgdTYYwrnDiyhTXFHADpxvQxmNbyUgMXqeVjjuXEfegt75 = "IDtMalZUHYpvSeKvYWRTiKezcejlVvdptmfBsqxsTdQrTHDtEsLzYmyoSHTbQBTfdyDrcBKQRKifWlw"
E1655195582878416377 = 95
dWdIQoWAKQRszSnGVLUkvgddwJLwTqFdnfVmJvossekjQwBBmODtTcStEpiftwfAsDMTCFbspqwBRXZ79 = 268
AAAAAAAaAaaAaAaAaAAaAAaaAAaAaAaaAAaaAAAaaaaAaAAAAaaAaaAaaAaAAaAaAaaAAaAAAaAaAAaAA = 459
P83 = 292
lIIlIIIIIIlllIIIIIlllllIIIIIlIlIlIlIllIIIIIlllIlIlIlIIllIIIIIlIIIllIllIIllllIIIIllIll = "HJoLTlsBBehbGBBIXbHwrENaGJKtWvqvWlWnwbIqJydbYIjXfcqNvPxoVRmSmoJmhRapmeCwRnHjefU"
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt = "xZxkYosiKaPOLZBQzDRXvrpmIbxsLMJEhNWSQzeHRFguJWLoFsergrBOhRjFHFWDLPIamNbZAkwaKKZ"
aAAAaAaaaaaAAaAaAaaaAaaaAaaaAAAAAAAAaAaaaAaAAAaAAAAAaaaaAaAAAaaAaAaAAAaAAaAaAAAAAAAaaaaaa = "MuKZmFcgQuYzWFRRmTenzEcmJtEbLZsiHqNQdpLbJYtletUSlXuDZNLnyiKViIqTShiBXzCznrDfQsz"
sFetEkkJIviAvnMrFdGeoCDaxuHegjSZeMUGREITeMqNNHOGYsXPdwyAKloqNQnoKWkMSBDFRqhiXgB91 = 448
h1655195582880395493 = "rCzrVDQqSEXZFTPkgJXUVBCbIFColyRIlDFToIfpjWfvJUgiogcswyIiiQnQadmytTVtWgjLaabCcDB"
bteCOliAwHgVqsXfKvLmdAMdsxAWimUWlIGNrqTBwraFNdwyxISqYoxWQyCFOMigMIczuMbTAgzWlPA95 = "IIxiNaeLLrZSocaDaIfZImaxCDagufhsTouzoKNVDjwcpbdeCgFFNDEeyebGLzBcHPZRNcMMGtPeRNI"
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD = 375
jHduhMBktieJgHSVQINlHUHcqJhwONEFBLzFWFgeQyhJAifUpZefZSKuWgpoPVmUMlxpEqxilshFcnz99 = "nlYdxunoCsOQFZdqVUgXWQgYFLhJIakAoJkltrAGhbPNAERoVSnqlzJcdykYuXdWukXrrUPhBvzovRd"
z16551955828803954101 = "xujCapsCFbnmaZzNIGvUIaWypytAlFsLHDRYtGCQvADGZYSPTlRWlMaxgtojZnmOGuyDFNdbBRoplyA"