ws.on('message', function(msg, flags) {
    console.log('Received message: %s', msg);
    var evt = JSON.parse(msg);

    switch (evt['name']) {
      case 'check-domain':
        sleep.sleep(1);

        var results = [];
        for (var i = 0, len = evt['data'].length; i < len; i++) {
          results.push({name: evt['data'][i], availability: 'available'});
        }

        message = {name: 'check-domain-completed', data: results, context: evt['context']};
        deliver(JSON.stringify(message));
        break;
      case 'register-domain':
        received_data = evt['data'];

        sleep.sleep(2);

        results = {
          name: received_data['name'],
          registered: true,
          expiration: ''
        };

        message = JSON.stringify({name: 'register-domain-completed', data: results, context: evt['context']});
        deliver(message);
        break;
    }
  });
Example #2
0
  craziness.listenKeys([0x12,0x43],function(){
   if( mapeditor ){
      mapeditor = false;
      clearInterval(mapInterval);
      /*
      -2544.473389
      12394.40234
      -3362.511963
      */
      sleep.sleep(0.2);
    }else{
      mapeditor = true;
      
      mapInterval = setInterval(function(){
        var destino = {
            x : craziness.Read(myProcess,0x0170EA88).readFloatLE(0),
            y : craziness.Read(myProcess,0x0170EA88 + 4).readFloatLE(0),
            z : craziness.Read(myProcess,0x0170EA88 + 8).readFloatLE(0)
        }

        if(destino.x.toString() == "Infinity") { return false; }

        console.log(destino);
        craziness.Write(myProcess,0x11054E7C,destino.x,"float");
        craziness.Write(myProcess,0x11054E8C,destino.y,"float");
        craziness.Write(myProcess,0x11054E9C,destino.z,"float");
      },50);
      
      sleep.sleep(0.2);
    }
  });
			setTimeout(function() {
				console.log("Finished analysis ...");
				my.led.digitalWrite(1);
				scoreMeditation = Math.round( scoreMeditation / numMeditation) ;
				scoreAttention  = Math.round( scoreAttention  / numAttention) ;
				console.log("scores : med / att : "+scoreMeditation+" / "+scoreAttention);
				console.log("values : med / att : "+numMeditation+" / "+numAttention);
				if (scoreMeditation+20 > scoreAttention ) {
					console.log("Launching action for Meditation ");
					my.servoMeditation.angle(maxAngleMed);
					Sleep.sleep(5);
					my.servoMeditation.angle(minAngleMed);
					console.log("Finished  action for Meditation ");
					client.post('statuses/update', {status: 'Zen, you are. Find what you are looking for, you will. #IntelEdison #AutomaticTweet'}, function(error, tweet, response){ if (!error) { console.log(tweet); } });

				} else {
					console.log("Launching action for Attention ");
					my.servoAttention.angle(medAngleAtt);
					Sleep.sleep(1);
					my.servoAttention.angle(maxAngleAtt);
					Sleep.sleep(1);
					my.servoAttention.angle(minAngleAtt);
					client.post('statuses/update', {status: 'Coffee, the finest organic suspension ever devised. #IntelEdison #AutomaticTweet'}, function(error, tweet, response){ if (!error) { console.log(tweet); } });
					console.log("Finished  action for Attention ");
				}
			},20000);
Example #4
0
async function fetchUntilEnd(options = {}){
    var items = []
    if (!options.hasOwnProperty('url')){
        throw new Error('Url not provided')
    }
    try {
        let pageNumber = 1
        var generatePageVar = () => pageNumber++
        var hasMore = true;
        var i = 0;
        var result;
        while (hasMore){
            var url = Url(options.url);
            url.queryStrings.key = "zDO2gMEs69ZZpSZRjl6LFw((";
            url.queryStrings.page = generatePageVar()
            url.queryStrings.pagesize = url.queryStrings.pagesize || 100;
            options.url = url.generate()
            result = await JsonRequest(options);
            if (result.hasOwnProperty('backoff')){
                debug.high(`Backoff received trying to access ${url.queryStrings.site}, waiting ${result.backoff} seconds`)
                await sleep.sleep(result.backoff)
                await sleep.sleep(60)
                debug.medium(`returning from backoff`);
            }
            await sleep.sleep(4)
            items = Array.concat(items, result.items)
            hasMore = result.hasOwnProperty('has_more') ? result.has_more : false
        }
        debug.medium(`Used ${result.quota_max - result.quota_remaining} out of ${result.quota_max} requests`)
        return Promise.resolve(items)
    } catch (error){
        console.error(error);
        return Promise.reject(error);
    }
}
Example #5
0
function begruessen(ziel, person) {
    var beleidigung = beleidigungen[Math.floor(Math.random() * beleidigungen.length)];
    var liebe = lobe[Math.floor(Math.random() * lobe.length)];
    var start = eroeffnung[Math.floor(Math.random() * eroeffnung.length)];
    var oops = verwirrtes[Math.floor(Math.random() * verwirrtes.length)];
    switch (person) {
        case config.botName:
            console.log('successfully joined');
            break;

        default:
            if (Math.random() > 0.5) {
                if (laune < 0) {
                    sleep.sleep(2);
                    bot.say(ziel, start + person + beleidigung);
                    sleep.sleep(3);
                    bot.say(ziel, oops);
                    laune = laune + (100 * Math.random());
                } else {
                    bot.say(ziel, start + person + liebe);
                    laune = laune - (100 * Math.random());
                }
                break;
            }
    }
}
Example #6
0
        swarmAPI.getDeployedImageMap(imagesForApp, function (err, imageDeployedMap)
      	  {
      	    if (err)
      	    {
      	      appLogger.error("Return error from checkSwarmDeployedStatus, err= " + err);

      	      appStatusMapRef[appId + ":" + appVersion].resultCode = GlobalsConsts.RESULT_SCALE_ERROR;
              appStatusMapRef[appId + ":" + appVersion].lastChange = new Date().toISOString();
              appLogger.info("AppScaler.checkSwarmDeployedStatus: setting appStatus=" +
                    JSON.stringify(appStatusMapRef[appId + ":" + appVersion]));
              persistence = new Persistence(appId, appVersion, JSON.stringify({}),JSON.stringify(appStatusMapRef[appId + ":" + appVersion]));
              persistence.setAppdeploystatusDB(function (message) {
                appLogger.info('setAppdeploystatusDB operation = ' + message);
              });

      	      return callback(err, imageDeployedMap);
      	    }
      	    for (var i in imageDeployedMap)
      	    {
              appLogger.info("** Key: " + i + ", *** Value: " + imageDeployedMap[i]);
            }
            imageDeployedMapRef = imageDeployedMap;
      	    if (!imageDeployedMap[imageFullName])
      	    {
      	      appLogger.info("No image for " + imageFullName + " is deployed");
      	      if (scaleExpected == 0)
      	      {
      	        appLogger.info("Now match with the expected scale level = " + scaleExpected);
      	        appLogger.info("DONE retry = " + retry);
                return callback(null, imageDeployedMap);
      	      }
      	      else
      	      {
      	        appLogger.info("Do not match with the expected scale level yet = " + scaleExpected);
      	        appLogger.info("Continue retry = " + retry);
      	        retry ++;
                sleep.sleep(5);
                loop();
      	      }

      	    }
      	    else if(imageDeployedMap[imageFullName].length == scaleExpected)
      	    {
      	      appLogger.info("Deployed image count = " + imageDeployedMap[imageFullName].length + ", which match with the expected scale level = " + scaleExpected);
      	      appLogger.info("DONE retry = " + retry);
      	      return callback(null, imageDeployedMap);
      	    }
      	    else
      	    {
      	      appLogger.info("Deployed image count = " + imageDeployedMap[imageFullName].length + ", DO not match with the expected scale level yet = " + scaleExpected);
      	      appLogger.info("Continue retry = " + retry);
      	      retry ++;
              sleep.sleep(5);
              loop();
      	    }
      	  });
Example #7
0
ns.waitForResults = function (params) {
    console.log('Waiting ' + params.initialSleep + 's before checking');
    sleep.sleep(params.initialSleep);

    console.log('Checking for results...');
    var command = 'curl -s ' + params.server + '/status/' + params.timestamp;
    while (sh.exec(command).stdout.toLowerCase() === 'not found') {
        sleep.sleep(params.pollInterval);
        console.log('Checking for results...');
    }
};
Example #8
0
 fs.readFile(userlist, function(error, data) {
   if (error) throw error;
   usernames = data.toString().split('\n');
   for (index in usernames) {
     username = sanitize(usernames[index])
     sleep.sleep(1);
     escraper.get(username, outputPath);
     log("SCRAPED USER " + (index).toString() + ": " + username);
     sleep.sleep(1);
   }
 })
Example #9
0
 craziness.listenKeys([0x12,0x5A],function(){
  if( superJumpFreezed ){
     superJumpFreezed = false;
     craziness.unfreeze(playerVisualBase + 0x7c);
     sleep.sleep(0.2);
   }else{
     superJumpFreezed = true;
     craziness.Write(myProcess,playerVisualBase + 0x7c,5,"float",null,true);
     sleep.sleep(0.2);
   }
 });
Example #10
0
 lcd.on('ready', function() {
   fancyPrinter('LCD Ready', function(){});
   //Wait 1 seconds before IRC for the lolz
   sleep.sleep(1);
   clients.irc();
   //wait 1 seconds before setting express app
   sleep.sleep(1);
   fancyPrinter('Express ready', function(){
     clients.expressInit();
   });
 });
Example #11
0
 craziness.listenKeys([0x12,0x58],function(){
  if( noClipFreezed ){
     noClipFreezed = false;
     craziness.unfreeze(playerRealBase + 0xc8);
     sleep.sleep(0.2);
     craziness.Write(myProcess,playerRealBase + 0xc8,1,"float");
   }else{
     noClipFreezed = true;
     craziness.Write(myProcess,playerRealBase + 0xc8,-1,"float",null,true);
     sleep.sleep(0.2);
   }
 });
Example #12
0
function reagieren(absender, ziel, nachricht) {
    var regex = '^!begruesze (.*)'
    var result = nachricht.match(regex);
    if(result != null) {
      greeting(ziel, result[1]);
    } else if(nachricht.startsWith("!wetter")) {
      getWeather(absender, ziel, nachricht);
    } else if(nachricht.startsWith("!warnhinweysz")) {
      warnung(ziel);
    } else if(isPhrase(ziel, nachricht)) {
    } else {
      var antwortboese = reaktionboese[Math.floor(Math.random() * reaktionboese.length)];
      var antwortlieb = reaktionlieb[Math.floor(Math.random() * reaktionlieb.length)];
      if(antwortboese.startsWith("%")) {
        antwortboese = absender + antwortboese.substring(1); 
      }
      if(antwortlieb.startsWith("%")) {
        antwortlieb = absender + antwortlieb.substring(1); 
      }
      if (Math.random() < 0.1) {
        if (laune < 0) {
          if (laune < 0) {
            sleep.sleep(2);
            bot.say(ziel, antwortboese);
            laune = laune + (100 * Math.random());
          } else {
            sleep.sleep(2);
            bot.say(ziel, antwortlieb);
            laune = laune - (100 * Math.random());
          }
        }
      }

      if (nachricht.indexOf(config.botName) > -1) {
        if (nachricht.indexOf("wie geht") == -1) {

          if (laune < 0) {
            sleep.sleep(2);
            bot.say(ziel, antwortboese);
          } else {
            sleep.sleep(2);
            bot.say(ziel, antwortlieb);
          }
        } else {
          sleep.sleep(2);
          bot.say(ziel, verbalLaune(laune));
          laune = laune - 5;
        }
      }
  }
}
Example #13
0
function loadUrlSync( url, callback ) {
    var tryCount = 0;

    do {
	try {
	    var req = httpsync.get({ url : url });
	    var res = req.end();
	    var content = res.data.toString('utf8');

	    if ( res.headers.location ) {
		console.info( "Redirect detected, load " + decodeURI( res.headers.location ) );
		return loadUrlSync( res.headers.location, callback );
	    } else {
		if ( callback ) {
		    callback( content );
		    break;
		} else {
		    return content;
		}
	    }
	} catch ( error ) {
	    console.error( 'Unable to sync retrieve (try nb ' + tryCount++ + ') ' + decodeURI( url ) + ' ( ' + error + ' )');
	    if ( maxTryCount && tryCount > maxTryCount ) {
		console.error( 'Unable to get ' + decodeURI( url ) + ' and abandon.' );
		return "";
	    } else {
		console.error( 'Sleeping for ' + tryCount + ' seconds' );
		sleep.sleep( tryCount );
	    }
	}
    } while ( true );
}
    request.get({url:'http://pastebin.com/archive'}, function(err,httpResponse,body){
      var $ = cheerio.load(body);
      var parent = $('#content_left').find('table').children('tr');
      var size = parent.length;
      var url = {},params={},raw={};
      for(var i=1;i<size;i++){
        if($('#content_left').find('table').children('tr').eq(i).children('td').eq(0).find('a').attr('href')){
          url = $('#content_left').find('table').children('tr').eq(i).children('td').eq(0).find('a').attr('href').split('/')[1];
          (logging? console.log("URL: "+url):'');
          params.url = 'http://pastebin.com/'+url+'/';
          params.qs = {url:url};
          if(!known.find(search,'s')){
            known.push(url);
            request.get(params, function(err,response,body){
              var search = (body ? (match(body)): false);
              if(search){
                console.log('Found '+keyword);
                $ = cheerio.load(body); // html of paste page
                raw = $('#paste_code').eq(0).html(); // raw paste content
                console.log('pastebin.com'+response.request.url.pathname); // url of paste

              }
              return false;
            });
          }
          else {
            console.log("Skipped URL: "+url);
          }
        }
        sleep.sleep(frequency.wait);
      }
    });
	        request('http://www.imdb.com/title/'+movieID+'/quotes', function(error, response, quotehtml){
	            if (error) {
	                
	            } else {
		            var quotes = [];

		            $ = cheerio.load(quotehtml);
		            var quotesDom = $('#quotes_content div.quote p:only-child');
		            $(quotesDom).each(function(i, quoteElement){
			            var quoteText = $(quoteElement).text().trim();
			            quoteText = quoteText.replace(/(\r\n|\n|\r)/gm,"");
			            quoteText = quoteText.match(/:(?:\s*\[.*\])?\s*(.*)/)[1];

			            quotes.push(quoteText);
		            });

			        output.push({
			        	movieName: movieName,
			        	movieID: movieID,
			        	quotes: quotes
			        });

		        	sleep.sleep(1);
		        	if(i == movies.length-1) {
						console.log(JSON.stringify(output));
		        	}
	        	}
	        });
Example #16
0
 callback: function (response, convo) {
     convo.say('It seems I don\'t actually know about that.');
     sleep.sleep(3);
     convo.say('Joking, I can actually tell you about myself if you ask me. You\'ll have to end this help conversation first though (with `done`).');
     reprompt(convo);
     convo.next();
 }
Example #17
0
GoPiGo.prototype.init = function() {
  if (!isHalt) {
    if (!isInit) {
      this.board.init()

      this.debug('GoPiGo is initing')
      sleep.sleep(initWait)
      isInit = true

      this.debug('GoPiGo will check the voltage each ' + voltageIntervalDelay + ' milliseconds')
      voltageInterval = setInterval(this.checkVoltage, voltageIntervalDelay)
      this.checkVoltage()
      this.reset()

      this.emit('init', true)
    } else {
      var err = new Error('GoPiGo is already initialized')
      this.emit('init', false)
      this.emit('error', err)
    }
  } else {
    var err = new Error('GoPiGo cannot be initialized')
    this.emit('init', false)
    this.emit('error', err)
  }
}
Example #18
0
	init: function( req, res ) {
		var now = require( 'sleep' );
		var lazy = require('lazy');
		var exec = require( 'child_process' ).exec;
		var port = 0;

		function puts( error, stdout, stderr ) { console.log( stdout ) }
		
		exec( 'cd projects/ ; cd '+ cur_project +'/ ; node app.js', puts );

		var fileLines = [];
		var path = __dirname + '/projects/' + cur_project + '/';

		new lazy(fs.createReadStream( path + 'app.js' ))
			.lines
			.forEach( function( line ) {
				cur_line = line.toString(); /* convert the chunk to string */
				fileLines.push( cur_line ); /* add the line to fileLines array */
			}
		)
		.join(function () { /* when reading the file is done */
			fileLines.forEach ( function ( cur_line, index ) {
				if ( cur_line.indexOf( 'var port = ' ) != -1 ) {
					port = cur_line.replace('var port = ', '').replace(';', '');
					req.arr.port = port;
				}
			})
		})
		now.sleep( 1 ); /* wait a bit to give time to start required app */
	},
Example #19
0
					page.open(message.url, function(status) {
						if (status !== 'success') {
							console.log('URL is invalid or not found!');
							var sock_message = {
								type:'screenshoot',
								status:'fail',
								message:'URL is invalid or not found!',
								itemId: message.itemId
							};
						} else {
							console.log('Rendering page...');
							var curtime 	= new Date(),
								filename	= curtime.getTime() + '.png',
								fs_err		= null;
							page.render(__dirname + '/../../frontend/images/screenshoots/' + filename);
							console.log('Page rendered!');
							phantom.exit();
							var sock_message = {
								type:'screenshoot',
								status:'success',
								filepath:'http://hackerchat.hbl/images/screenshoots/' + filename,
								itemId: message.itemId
							};

							sleep.sleep(7);
						}

						sjs_client.send(JSON.stringify(sock_message));
					})
Example #20
0
 .catch((error) => {
     if (error.message.search('MVCC_READ_CONFLICT') != -1)
         {sleep.sleep(5);
             console.log(_id+" loadTransaction retrying submit transaction for: "+_id);
             this.loadTransaction(_con,_item, _id, businessNetworkConnection);
         }
     });
Example #21
0
                    hueApi.setLightState(3, hue.lightState.create().brightness(0)).then(function () {
                        console.log("Light 3 off");
                        sleep.sleep(5);

                        hueApi.setLightState(3, hue.lightState.create().brightness(100)).then(function () {
                            console.log("Light 3 on");
                            sleep.sleep(5);

                            hueApi.setLightState(3, hue.lightState.create().rgb(255, 0, 0)).then(function () {
                                console.log("Light 3 red");
                                sleep.sleep(5);

                                hueApi.setLightState(3, hue.lightState.create().rgb(0, 255, 0)).then(function () {
                                    console.log("Light 3 green");
                                    sleep.sleep(5);

                                    hueApi.setLightState(3, hue.lightState.create().rgb(0, 0, 255)).then(function () {
                                        console.log("Light 3 blue");
                                    }.bind(this)).fail(function (error) {
                                        console.log(error);
                                    });
                                }.bind(this)).fail(function (error) {
                                    console.log(error);
                                });
                            }.bind(this)).fail(function (error) {
                                console.log(error);
                            });
                        }.bind(this)).fail(function (error) {
                            console.log(error);
                        });
                    }.bind(this)).fail(function (error) {
Example #22
0
        jenkinsResponse.on('end', function () {
            logger.info('response jenkins: code: %s message: %s',
                jenkinsResponse.statusCode, jenkinsResponse.statusMessage);

            sleep.sleep(10); //sleep for 10 seconds
            res.redirect(config.webContext);
        });
Example #23
0
function act(event){
    console.log("on");
    gpio.write(18,1);
    sleep.sleep(3);
    console.log("off");
    gpio.write(18,0);
}
Example #24
0
function poll(token, myEmail, err, d, processSparkMessageCB) {
  if (err) {
    console.log(
      'Oops! An error occurred while fetching messages:',
      err
    );
  } else {
    // console.log("got messages:", d);
    // walk through each message notification
    if (d) {
      var data = JSON.parse(d);
      // console.log('data:', data);
      data.forEach(function (value) {
        if (value.data.personEmail && value.data.personEmail.includes(myEmail)) {
          // this is my own message, so discard
          // console.log("discarding my own message");
        } else {
          // fetch the message from spark
          dobby_spark.fetchMessage(token, value.data.id, processSparkMessageCB);
        }
      });
    }
  }
  // sleep
  sleep.sleep(1);
  getMessages(token, myChannel, myEmail, processSparkMessageCB);
};
Example #25
0
                locations.forEach(function (location) {

                    var elements = location.address_with_name.split(',');
                    var locationQuery = elements[0] + ', ' + elements[1];

                    var apiUrl = 'https://maps.googleapis.com/maps/api/geocode/json?address=';
                    var encodedUrl = apiUrl + encodeURIComponent(locationQuery);

                    sleep.sleep(0.1);
                    fetch(encodedUrl)
                        .then(response => {
                            var result = JSON.parse(response._bodyInit).results[0];
                            //[{latitude: number, longitude: number, title: string, subtitle: string}]

                            var newAnnotation = {
                                latitude: result.geometry.location.lat,
                                longitude: result.geometry.location.lng,
                                title: result.formatted_address
                            };
                            myAnnotations.push(newAnnotation);


                            //shops.cloneWithRows(annotations);
                            console.log(newAnnotation);
                            console.log(result.geometry.location.lat);
                            console.log(result.geometry.location.lng);
                            console.log(result.formatted_address);
                            console.log(myAnnotations);

                            beerlurk.setState('myownannotations', myAnnotations);
                        });
                });
Example #26
0
File: hooks.js Project: hugs/angelo
  beforeEach(function(){
    console.log("Starting chromedriver...")
    child = childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {
      // handle results
    });
    console.log('PID: ' + child.pid)
  
    console.log('beforeEach...')
    console.log('Sleeping for ' + SLEEP + ' seconds...');
    sleep.sleep(SLEEP);
    console.log('Done sleeping...')  
  
    console.log("Launching browser...")
    var chromeOptions = {'args':['test-type']};
    var capabilities = {chromeOptions:chromeOptions};

    driver = cabbie('http://127.0.0.1:9515/', 
      capabilities, 
      {mode: cabbie.Driver.MODE_SYNC}
    );
    browser = driver.browser();
    activeWindow = browser.activeWindow();
  
    open = function(url) {
      activeWindow.navigator().setUrl(url);
    }
    
  })
Example #27
0
			faceDetectAddon.faceDetection(count, function(err, numberOfFace){
				dt = new Date();
				d = dt.toFormat('HH24:MI:SS');

			if(numberOfFace > 0)
			{
				recObj.init(function(width, height, buffer_size){
					console.log('Camera Init Success');
				});
				sleep.sleep(2);	
					console.log("Face Detected !!!!!!!!!!!");	
					console.log("Face Detected !!!!!!!!!!!");	
					console.log("Face Detected !!!!!!!!!!!");	
					
				recObj.start(path+'[FaceDetect]['+d+'].mjpeg', 300, function(err, data)
			 	{
			   		if(data)
					{
			     	
		    			console.log(path+'[faceDetected]['+d+'].mjpeg video Saved');
						sleep.sleep(5);
						alreadyMotionDetected = false;
					}
				});

			}
			else
			{
			  	alreadyMotionDetected = false;
			}
		});		
Example #28
0
    jenkinsRequest.on('error', function (e) {
        // TODO: handle error.
        logger.error('Error in connection with jenkins: ' + e);

        sleep.sleep(10); //sleep for 10 seconds
        res.redirect(config.webContext);
    });
Example #29
0
remotepi.prototype.onVolumioShutdown = function() {
    var self = this;

    if (!hwShutdown) {
        self.logger.info("Shutdown initiated by software (UI element or CLI)");
        // Execute shutdown signal sequence on GPIO15
        initShutdown.write(1);
        sleep.msleep(125);
        initShutdown.write(0);
        sleep.msleep(200);
        initShutdown.write(1);
        sleep.msleep(400);
        initShutdown.write(0);
    } else {
        self.logger.info("Shutdown initiated by hardware knob or IR remote control");
    }
    // Reconfigure GPIO14 as output. Then set it to "high" to allow the RemotePi
    // to recognize when the shutdown process on the RasPi has been finished
    shutdownCtrl.unwatchAll();
    shutdownCtrl.unexport();
    shutdownCtrl = new Gpio(14, "out");
    shutdownCtrl.write(1);
    sleep.sleep(4);

    return libQ.resolve();  
};
process.stdin.on('keypress', function(ch, key) {
	try {
		switch (key.name) {
			case "b":
				servo.writeSync(1);
				sleep.sleep(1);
				servo.writeSync(0);
				break;
			case "n":
				servo.writeSync(0);
				break;
			case "j":
				console.log('switch_1 on')
				switch_1.writeSync(1);
				break;
			case "h":
				console.log('switch_2 on')
				switch_2.writeSync(1);
				break;
			case "space":
				console.log('switch_1 off')
				console.log('switch_2 off')			
				switch_1.writeSync(0);
				switch_2.writeSync(0);
				break;
		}

	} catch (error) {
		throw error;
	}

	if (key && key.ctrl && key.name == 'c') {
		process.stdin.pause();
	}
});