<commit_before>	
	app_page.features.push(tc.user_handler({
		no_user_handler:function(app){
			app.components.modal.show({
				preventClose:true,
				source_element:tc.jQ('.modal-content.join-no-user')
			});
		}
	}));
	
	app_page.features.push(function(app){
		tc.util.log('Give A Minute: Create a Project');
		tc.jQ('.addphoto a').bind('click',{
			app:app,
			source_element:tc.jQ('.modal-content.upload-image'),
			init:function(modal,callback){
				var uploader = new qq.FileUploader({
					element: modal.options.element.find('.file-uploader').get(0),
					action: '/create/photo',
					onComplete: function(id, fileName, responseJSON){
						
						tc.jQ(document).trigger('create-image-uploaded',{
							id:id,
							fileName:fileName,
							responseJSON:responseJSON
						});
						
						return true;
					}
				});
				if(tc.jQ.isFunction(callback)){
					callback(modal);
				}
			}
		},function(e,d){
			e.preventDefault();
			e.data.app.components.modal.show(e.data);
		});
		
		app.components.merlin = new tc.merlin(app,{
			dom:tc.jQ('form.merlin'),
			progress_element:tc.jQ('.merlin-progress'),
			next_button:tc.jQ('.ca-btn'),
			back_button:tc.jQ('.foothills .back'),
			error_indicator:tc.jQ('.oops'),
			title:tc.jQ('.headlands h1'),
			sub_title:tc.jQ('.headlands h2'),
			watch_keypress:true,
			first_step:'start',
			components:{
				organization_tooltip:null
			},
			data:{
				title:null,
				organization:null,
				text:null,
				keywords:null,
				location_id:null,
				links:null,
				resources:null,
				image:'-1',
				main_text:""
			},
			steps:{
				'start':{
					progress_selector:'.1',
					selector:'.step.start',
					prev_step:null,
					next_step:'location',
					title:'Turn an idea into a project.',
					sub_title:'<strong>' + (app.app_page.data.user ? app.app_page.data.user.f_name : 'Hey') + ', </strong> let\'s get started with some basic details.',
					use_for_history:true,
					step_data:{
						timer:null
					},
					inputs:{
						title:{
							selector:'input.name',
							validators:['max-50','min-3','required'],
							hint:'e.g. More Trees in NYC',<commit_msg>Remove NYC specific project title tip<commit_after>	
	app_page.features.push(tc.user_handler({
		no_user_handler:function(app){
			app.components.modal.show({
				preventClose:true,
				source_element:tc.jQ('.modal-content.join-no-user')
			});
		}
	}));
	
	app_page.features.push(function(app){
		tc.util.log('Give A Minute: Create a Project');
		tc.jQ('.addphoto a').bind('click',{
			app:app,
			source_element:tc.jQ('.modal-content.upload-image'),
			init:function(modal,callback){
				var uploader = new qq.FileUploader({
					element: modal.options.element.find('.file-uploader').get(0),
					action: '/create/photo',
					onComplete: function(id, fileName, responseJSON){
						
						tc.jQ(document).trigger('create-image-uploaded',{
							id:id,
							fileName:fileName,
							responseJSON:responseJSON
						});
						
						return true;
					}
				});
				if(tc.jQ.isFunction(callback)){
					callback(modal);
				}
			}
		},function(e,d){
			e.preventDefault();
			e.data.app.components.modal.show(e.data);
		});
		
		app.components.merlin = new tc.merlin(app,{
			dom:tc.jQ('form.merlin'),
			progress_element:tc.jQ('.merlin-progress'),
			next_button:tc.jQ('.ca-btn'),
			back_button:tc.jQ('.foothills .back'),
			error_indicator:tc.jQ('.oops'),
			title:tc.jQ('.headlands h1'),
			sub_title:tc.jQ('.headlands h2'),
			watch_keypress:true,
			first_step:'start',
			components:{
				organization_tooltip:null
			},
			data:{
				title:null,
				organization:null,
				text:null,
				keywords:null,
				location_id:null,
				links:null,
				resources:null,
				image:'-1',
				main_text:""
			},
			steps:{
				'start':{
					progress_selector:'.1',
					selector:'.step.start',
					prev_step:null,
					next_step:'location',
					title:'Turn an idea into a project.',
					sub_title:'<strong>' + (app.app_page.data.user ? app.app_page.data.user.f_name : 'Hey') + ', </strong> let\'s get started with some basic details.',
					use_for_history:true,
					step_data:{
						timer:null
					},
					inputs:{
						title:{
							selector:'input.name',
							validators:['max-50','min-3','required'],
							hint:'e.g. More Greenways Downtown',
{'fraction_non_alphanumeric': 0.17164179104477612, 'fraction_numerical': 0.0037313432835820895, 'mean_word_length': 3.057710501419111, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4246458', 'n_tokens_mistral': 1979, 'n_tokens_neox': 1494, 'n_words': 211}