<commit_before>/*
 * pQuery physics library v@VERSION
 * https://github.com/wellcaffeinated/pQuery
 * 
 * Copyright 2012, <NAME>
 * Dual licensed under the MIT or GPL Version 2 licenses.
 */
define(function(){

		/**
		 * Shim for `Array.indexOf` 
		 */
		Array.prototype.indexOf = Array.prototype.indexOf || function ( searchElement, fromIndex ) {
		    "use strict";
		    if (this == null) {
		        throw new TypeError();
		    }
		    var t = Object(this);
		    var len = t.length >>> 0;
		    if (len === 0) {
		        return -1;
		    }
		    var n = 0;
		    if (arguments.length > 0) {
		        n = Number(arguments[1]);
		        if (n != n) { // shortcut for verifying if it's NaN
		            n = 0;
		        } else if (n != 0 && n != Infinity && n != -Infinity) {
		            n = (n > 0 || -1) * Math.floor(Math.abs(n));
		        }
		    }
		    if (n >= len) {
		        return -1;
		    }
		    var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
		    for (; k < len; k++) {
		        if (k in t && t[k] === searchElement) {
		            return k;
		        }
		    }
		    return -1;
		};

		/*
		 * Contains modified parts of jQuery JavaScript Library v1.7.2
		 * http://jquery.com/
		 *
		 * Copyright 2011, <NAME>
		 * Dual licensed under the MIT or GPL Version 2 licenses.
		 * http://jquery.org/license
		 *
		 */
			// [[Class]] -> type pairs
		var	class2type = {}
			// Save a reference to some core methods
			,toString = Object.prototype.toString
			,hasOwn = Object.prototype.hasOwnProperty
			,push = Array.prototype.push
			,slice = Array.prototype.slice
			,trim = String.prototype.trim
			,indexOf = Array.prototype.indexOf
			,Tools = {

				extend: function() {
					var options, name, src, copy, copyIsArray, clone,
						target = arguments[0] || {},
						i = 1,
						length = arguments.length,
						deep = false;

					// Handle a deep copy situation
					if ( typeof target === "boolean" ) {
						deep = target;
						target = arguments[1] || {};
						// skip the boolean and the target
						i = 2;
					}

					// Handle case when target is a string or something (possible in deep copy)
					if ( typeof target !== "object" && !Tools.isFunction(target) ) {
						target = {};
					}

					// extend current object itself if only one argument is passed
					if ( length === i ) {
						target = this;
						--i;
					}

					for ( ; i < length; i++ ) {
						// Only deal with non-null/undefined values
						if ( (options = arguments[ i ]) != null ) {
							// Extend the base object
							for ( name in options ) {
								src = target[ name ];
								copy = options[ name ];

								// Prevent never-ending loop
								if ( target === copy ) {
									continue;
								}

								// Recurse if we're merging plain objects or arrays
								if ( deep && copy && ( Tools.isPlainObject(copy) || (copyIsArray = Tools.isArray(copy)) ) ) {
									if ( copyIsArray ) {
										copyIsArray = false;
										clone = src && Tools.isArray(src) ? src : [];

									} else {
										clone = src && Tools.isPlainObject(src) ? src : {};
									}

									// Never move original objects, clone them
									target[ name ] = Tools.extend( deep, clone, copy );

								// Don't bring in undefined values
								} else if ( copy !== undefined ) {
									target[ name ] = copy;
								}
							}
						}
					}

					// Return the modified object
					return target;
				}

				// See test/unit/core.js for details concerning isFunction.
				// Since version 1.3, DOM methods and functions like alert
				// aren't supported. They return false on IE (#2968).
				,isFunction: function( obj ) {
					return Tools.type(obj) === "function";
				}

				,isArray: Array.isArray || function( obj ) {
					return Tools.type(obj) === "array";
				}

				,isNumeric: function( obj ) {
					return !isNaN( parseFloat(obj) ) && isFinite( obj );
				}

				,isNumericQuick: function( obj ){
					return obj == 0 || 1%(obj) >= 0;
				}

				,type: function( obj ) {
					return obj == null ?
						String( obj ) :
						class2type[ toString.call(obj) ] || "object";
				}

				,isPlainObject: function( obj ) {
					// Must be an Object.<commit_msg>New numeric test<commit_after>/*
 * pQuery physics library v@VERSION
 * https://github.com/wellcaffeinated/pQuery
 * 
 * Copyright 2012, <NAME>
 * Dual licensed under the MIT or GPL Version 2 licenses.
 */
define(function(){

		/**
		 * Shim for `Array.indexOf` 
		 */
		Array.prototype.indexOf = Array.prototype.indexOf || function ( searchElement, fromIndex ) {
		    "use strict";
		    if (this == null) {
		        throw new TypeError();
		    }
		    var t = Object(this);
		    var len = t.length >>> 0;
		    if (len === 0) {
		        return -1;
		    }
		    var n = 0;
		    if (arguments.length > 0) {
		        n = Number(arguments[1]);
		        if (n != n) { // shortcut for verifying if it's NaN
		            n = 0;
		        } else if (n != 0 && n != Infinity && n != -Infinity) {
		            n = (n > 0 || -1) * Math.floor(Math.abs(n));
		        }
		    }
		    if (n >= len) {
		        return -1;
		    }
		    var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
		    for (; k < len; k++) {
		        if (k in t && t[k] === searchElement) {
		            return k;
		        }
		    }
		    return -1;
		};

		/*
		 * Contains modified parts of jQuery JavaScript Library v1.7.2
		 * http://jquery.com/
		 *
		 * Copyright 2011, <NAME>
		 * Dual licensed under the MIT or GPL Version 2 licenses.
		 * http://jquery.org/license
		 *
		 */
			// [[Class]] -> type pairs
		var	class2type = {}
			// Save a reference to some core methods
			,toString = Object.prototype.toString
			,hasOwn = Object.prototype.hasOwnProperty
			,push = Array.prototype.push
			,slice = Array.prototype.slice
			,trim = String.prototype.trim
			,indexOf = Array.prototype.indexOf
			,Tools = {

				extend: function() {
					var options, name, src, copy, copyIsArray, clone,
						target = arguments[0] || {},
						i = 1,
						length = arguments.length,
						deep = false;

					// Handle a deep copy situation
					if ( typeof target === "boolean" ) {
						deep = target;
						target = arguments[1] || {};
						// skip the boolean and the target
						i = 2;
					}

					// Handle case when target is a string or something (possible in deep copy)
					if ( typeof target !== "object" && !Tools.isFunction(target) ) {
						target = {};
					}

					// extend current object itself if only one argument is passed
					if ( length === i ) {
						target = this;
						--i;
					}

					for ( ; i < length; i++ ) {
						// Only deal with non-null/undefined values
						if ( (options = arguments[ i ]) != null ) {
							// Extend the base object
							for ( name in options ) {
								src = target[ name ];
								copy = options[ name ];

								// Prevent never-ending loop
								if ( target === copy ) {
									continue;
								}

								// Recurse if we're merging plain objects or arrays
								if ( deep && copy && ( Tools.isPlainObject(copy) || (copyIsArray = Tools.isArray(copy)) ) ) {
									if ( copyIsArray ) {
										copyIsArray = false;
										clone = src && Tools.isArray(src) ? src : [];

									} else {
										clone = src && Tools.isPlainObject(src) ? src : {};
									}

									// Never move original objects, clone them
									target[ name ] = Tools.extend( deep, clone, copy );

								// Don't bring in undefined values
								} else if ( copy !== undefined ) {
									target[ name ] = copy;
								}
							}
						}
					}

					// Return the modified object
					return target;
				}

				// See test/unit/core.js for details concerning isFunction.
				// Since version 1.3, DOM methods and functions like alert
				// aren't supported. They return false on IE (#2968).
				,isFunction: function( obj ) {
					return Tools.type(obj) === "function";
				}

				,isArray: Array.isArray || function( obj ) {
					return Tools.type(obj) === "array";
				}

				,isNumeric: function( obj ) {
					return !isNaN( parseFloat(obj) ) && isFinite( obj );
				}

				,isNumericQuick: function( obj ){
					// Method by <NAME>
					// http://jsfiddle.net/wellcaffeinated/nd5h9/
					return obj === 0 || 
					 	obj === '0' || 
					 	(
					 		(obj && obj !== true)? 
					 		obj>>>0 != 0 || (obj*=obj)*obj < obj: 
					 		false
					 	);
				}

				,type: function( obj ) {
					return obj == null ?
						String( obj ) :
						class2type[ toString.call(obj) ] || "object";
				}

				,isPlainObject: function( obj ) {
					// Must be an Object.
{'fraction_non_alphanumeric': 0.13953488372093023, 'fraction_numerical': 0.010116279069767442, 'mean_word_length': 1.776307295029051, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 28, 'https://': 2, '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': '1828550', 'n_tokens_mistral': 3660, 'n_tokens_neox': 2552, 'n_words': 793}