constructor() public {
        startTime = uint64(now);
        endTime = uint64(now + 3600*24*4);
        goalSale = PUBLIC_SALE_TOKEN_CAP / 100 * 50;
        
        token = new YiqiniuToken();
        emit NewYiqiniuToken(address(token));
        
        token.mint(address(this), TOTAL_SUPPLY_CAP);
        token.finishMinting();

        uint64 TimeLock1 = uint64(now + 3600*24*5);
        uint64 TimeLock2 = uint64(now + 3600*24*6);

        AgencyLock1 = new TokenTimelock(token, AGENCY_ADDR, TimeLock1);
        AgencyLock2 = new TokenTimelock(token, AGENCY_ADDR, TimeLock2);

        token.safeTransfer(AgencyLock1, AGENCY_TOKEN_CAP/2);
        token.safeTransfer(AgencyLock2, AGENCY_TOKEN_CAP/2);

        token.safeTransfer(TEAM_ADDR,TEAM_TOKEN_CAP);
    }