Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,42 @@
body {
padding-top: 50px;
padding-bottom: 20px;
}

/* Set padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
max-width: 280px;
}

/* styles for validation helpers */
.field-validation-error {
color: #b94a48;
}

.field-validation-valid {
display: none;
}

input.input-validation-error {
border: 1px solid #b94a48;
}

input[type="checkbox"].input-validation-error {
border: 0 none;
}

.validation-summary-errors {
color: #b94a48;
}

.validation-summary-valid {
display: none;
}
Binary file not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,344 @@
/* NUGET: BEGIN LICENSE TEXT
*
* Microsoft grants you the right to use these script files for the sole
* purpose of either: (i) interacting through your browser with the Microsoft
* website or online service, subject to the applicable licensing or use
* terms; or (ii) using the files as included with a Microsoft product subject
* to that product's license terms. Microsoft reserves all other rights to the
* files not expressly granted by Microsoft, whether by implication, estoppel
* or otherwise. Insofar as a script file is dual licensed under GPL,
* Microsoft neither took the code under GPL nor distributes it thereunder but
* under the terms set out in this paragraph. All notices and licenses
* below are for informational purposes only.
*
* NUGET: END LICENSE TEXT */
/*!
** Unobtrusive validation support library for jQuery and jQuery Validate
** Copyright (C) Microsoft Corporation. All rights reserved.
*/
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global document: false, jQuery: false */
(function ($) {
var $jQval = $.validator,
adapters,
data_validation = "unobtrusiveValidation";
function setValidationValues(options, ruleName, value) {
options.rules[ruleName] = value;
if (options.message) {
options.messages[ruleName] = options.message;
}
}
function splitAndTrim(value) {
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
}
function escapeAttributeValue(value) {
// As mentioned on http://api.jquery.com/category/selectors/
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
}
function getModelPrefix(fieldName) {
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
}
function appendModelPrefix(value, prefix) {
if (value.indexOf("*.") === 0) {
value = value.replace("*.", prefix);
}
return value;
}
function onError(error, inputElement) { // 'this' is the form element
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
container.removeClass("field-validation-valid").addClass("field-validation-error");
error.data("unobtrusiveContainer", container);
if (replace) {
container.empty();
error.removeClass("input-validation-error").appendTo(container);
}
else {
error.hide();
}
}
function onErrors(event, validator) { // 'this' is the form element
var container = $(this).find("[data-valmsg-summary=true]"),
list = container.find("ul");
if (list && list.length && validator.errorList.length) {
list.empty();
container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
$.each(validator.errorList, function () {
$("<li />").html(this.message).appendTo(list);
});
}
}
function onSuccess(error) { // 'this' is the form element
var container = error.data("unobtrusiveContainer"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
if (container) {
container.addClass("field-validation-valid").removeClass("field-validation-error");
error.removeData("unobtrusiveContainer");
if (replace) {
container.empty();
}
}
}
function onReset(event) { // 'this' is the form element
var $form = $(this);
$form.data("validator").resetForm();
$form.find(".validation-summary-errors")
.addClass("validation-summary-valid")
.removeClass("validation-summary-errors");
$form.find(".field-validation-error")
.addClass("field-validation-valid")
.removeClass("field-validation-error")
.removeData("unobtrusiveContainer")
.find(">*") // If we were using valmsg-replace, get the underlying error
.removeData("unobtrusiveContainer");
}
function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form);
if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: "input-validation-error",
errorElement: "span",
errorPlacement: $.proxy(onError, form),
invalidHandler: $.proxy(onErrors, form),
messages: {},
rules: {},
success: $.proxy(onSuccess, form)
},
attachValidation: function () {
$form
.unbind("reset." + data_validation, onResetProxy)
.bind("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function () { // a validation function that is called by unobtrusive Ajax
$form.validate();
return $form.valid();
}
};
$form.data(data_validation, result);
}
return result;
}
$jQval.unobtrusive = {
adapters: [],
parseElement: function (element, skipAttach) {
/// <summary>
/// Parses a single HTML element for unobtrusive validation attributes.
/// </summary>
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
/// validation to the form. If parsing just this single element, you should specify true.
/// If parsing several elements, you should specify false, and manually attach the validation
/// to the form when you are finished. The default is false.</param>
var $element = $(element),
form = $element.parents("form")[0],
valInfo, rules, messages;
if (!form) { // Cannot do client-side validation without a form
return;
}
valInfo = validationInfo(form);
valInfo.options.rules[element.name] = rules = {};
valInfo.options.messages[element.name] = messages = {};
$.each(this.adapters, function () {
var prefix = "data-val-" + this.name,
message = $element.attr(prefix),
paramValues = {};
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
prefix += "-";
$.each(this.params, function () {
paramValues[this] = $element.attr(prefix + this);
});
this.adapt({
element: element,
form: form,
message: message,
params: paramValues,
rules: rules,
messages: messages
});
}
});
$.extend(rules, { "__dummy__": true });
if (!skipAttach) {
valInfo.attachValidation();
}
},
parse: function (selector) {
/// <summary>
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
/// attribute values.
/// </summary>
/// <param name="selector" type="String">Any valid jQuery selector.</param>
var $forms = $(selector)
.parents("form")
.andSelf()
.add($(selector).find("form"))
.filter("form");
// :input is a psuedoselector provided by jQuery which selects input and input-like elements
// combining :input with other selectors significantly decreases performance.
$(selector).find(":input").filter("[data-val=true]").each(function () {
$jQval.unobtrusive.parseElement(this, true);
});
$forms.each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
};
adapters = $jQval.unobtrusive.adapters;
adapters.add = function (adapterName, params, fn) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
/// mmmm is the parameter name).</param>
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
/// attributes into jQuery Validate rules and/or messages.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
if (!fn) { // Called with no params, just a function
fn = params;
params = [];
}
this.push({ name: adapterName, params: params, adapt: fn });
return this;
};
adapters.addBool = function (adapterName, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has no parameter values.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, function (options) {
setValidationValues(options, ruleName || adapterName, true);
});
};
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a minimum value.</param>
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a maximum value.</param>
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
/// have both a minimum and maximum value.</param>
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the minimum value. The default is "min".</param>
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the maximum value. The default is "max".</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
var min = options.params.min,
max = options.params.max;
if (min && max) {
setValidationValues(options, minMaxRuleName, [min, max]);
}
else if (min) {
setValidationValues(options, minRuleName, min);
}
else if (max) {
setValidationValues(options, maxRuleName, max);
}
});
};
adapters.addSingleVal = function (adapterName, attribute, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has a single value.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
/// The default is "val".</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [attribute || "val"], function (options) {
setValidationValues(options, ruleName || adapterName, options.params[attribute]);
});
};
$jQval.addMethod("__dummy__", function (value, element, params) {
return true;
});
$jQval.addMethod("regex", function (value, element, params) {
var match;
if (this.optional(element)) {
return true;
}
match = new RegExp(params).exec(value);
return (match && (match.index === 0) && (match[0].length === value.length));
});
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
var match;
if (nonalphamin) {
match = value.match(/\W/g);
match = match && match.length >= nonalphamin;
}
return match;
});
if ($jQval.methods.extension) {
adapters.addSingleVal("accept", "mimtype");
adapters.addSingleVal("extension", "extension");
} else {
// for backward compatibility, when the 'extension' validation method does not exist, such as with versions
// of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
// validating the extension, and ignore mime-type validations as they are not supported.
adapters.addSingleVal("extension", "extension", "accept");
}
adapters.addSingleVal("regex", "pattern");
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
adapters.add("equalto", ["other"], function (options) {
var prefix = getModelPrefix(options.element.name),
other = options.params.other,
fullOtherName = appendModelPrefix(other, prefix),
element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
setValidationValues(options, "equalTo", element);
});
adapters.add("required", function (options) {
// jQuery Validate equates "required" with "mandatory" for checkbox elements
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
setValidationValues(options, "required", true);
}
});
adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
var value = {
url: options.params.url,
type: options.params.type || "GET",
data: {}
},
prefix = getModelPrefix(options.element.name);
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
var paramName = appendModelPrefix(fieldName, prefix);
value.data[paramName] = function () {
return $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']").val();
};
});
setValidationValues(options, "remote", value);
});
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
if (options.params.min) {
setValidationValues(options, "minlength", options.params.min);
}
if (options.params.nonalphamin) {
setValidationValues(options, "nonalphamin", options.params.nonalphamin);
}
if (options.params.regex) {
setValidationValues(options, "regex", options.params.regex);
}
});
$(function () {
$jQval.unobtrusive.parse(document);
});
}(jQuery));

Large diffs are not rendered by default.

@@ -0,0 +1,340 @@
/* NUGET: BEGIN LICENSE TEXT
*
* Microsoft grants you the right to use these script files for the sole
* purpose of either: (i) interacting through your browser with the Microsoft
* website or online service, subject to the applicable licensing or use
* terms; or (ii) using the files as included with a Microsoft product subject
* to that product's license terms. Microsoft reserves all other rights to the
* files not expressly granted by Microsoft, whether by implication, estoppel
* or otherwise. Insofar as a script file is dual licensed under GPL,
* Microsoft neither took the code under GPL nor distributes it thereunder but
* under the terms set out in this paragraph. All notices and licenses
* below are for informational purposes only.
*
* NUGET: END LICENSE TEXT */
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
window.matchMedia = window.matchMedia || (function(doc, undefined){

var bool,
docElem = doc.documentElement,
refNode = docElem.firstElementChild || docElem.firstChild,
// fakeBody required for <FF4 when executed in <head>
fakeBody = doc.createElement('body'),
div = doc.createElement('div');

div.id = 'mq-test-1';
div.style.cssText = "position:absolute;top:-100em";
fakeBody.style.background = "none";
fakeBody.appendChild(div);

return function(q){

div.innerHTML = '&shy;<style media="'+q+'"> #mq-test-1 { width: 42px; }</style>';

docElem.insertBefore(fakeBody, refNode);
bool = div.offsetWidth == 42;
docElem.removeChild(fakeBody);

return { matches: bool, media: q };
};

})(document);




/*! Respond.js v1.2.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
(function( win ){
//exposed namespace
win.respond = {};

//define update even in native-mq-supporting browsers, to avoid errors
respond.update = function(){};

//expose media query support flag for external use
respond.mediaQueriesSupported = win.matchMedia && win.matchMedia( "only all" ).matches;

//if media queries are supported, exit here
if( respond.mediaQueriesSupported ){ return; }

//define vars
var doc = win.document,
docElem = doc.documentElement,
mediastyles = [],
rules = [],
appendedEls = [],
parsedSheets = {},
resizeThrottle = 30,
head = doc.getElementsByTagName( "head" )[0] || docElem,
base = doc.getElementsByTagName( "base" )[0],
links = head.getElementsByTagName( "link" ),
requestQueue = [],

//loop stylesheets, send text content to translate
ripCSS = function(){
var sheets = links,
sl = sheets.length,
i = 0,
//vars for loop:
sheet, href, media, isCSS;

for( ; i < sl; i++ ){
sheet = sheets[ i ],
href = sheet.href,
media = sheet.media,
isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";

//only links plz and prevent re-parsing
if( !!href && isCSS && !parsedSheets[ href ] ){
// selectivizr exposes css through the rawCssText expando
if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
translate( sheet.styleSheet.rawCssText, href, media );
parsedSheets[ href ] = true;
} else {
if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base)
|| href.replace( RegExp.$1, "" ).split( "/" )[0] === win.location.host ){
requestQueue.push( {
href: href,
media: media
} );
}
}
}
}
makeRequests();
},

//recurse through request queue, get css text
makeRequests = function(){
if( requestQueue.length ){
var thisRequest = requestQueue.shift();

ajax( thisRequest.href, function( styles ){
translate( styles, thisRequest.href, thisRequest.media );
parsedSheets[ thisRequest.href ] = true;
makeRequests();
} );
}
},

//find media blocks in css text, convert to style blocks
translate = function( styles, href, media ){
var qs = styles.match( /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi ),
ql = qs && qs.length || 0,
//try to get CSS path
href = href.substring( 0, href.lastIndexOf( "/" )),
repUrls = function( css ){
return css.replace( /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, "$1" + href + "$2$3" );
},
useMedia = !ql && media,
//vars used in loop
i = 0,
j, fullq, thisq, eachq, eql;

//if path exists, tack on trailing slash
if( href.length ){ href += "/"; }

//if no internal queries exist, but media attr does, use that
//note: this currently lacks support for situations where a media attr is specified on a link AND
//its associated stylesheet has internal CSS media queries.
//In those cases, the media attribute will currently be ignored.
if( useMedia ){
ql = 1;
}


for( ; i < ql; i++ ){
j = 0;

//media attr
if( useMedia ){
fullq = media;
rules.push( repUrls( styles ) );
}
//parse for styles
else{
fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) && RegExp.$1;
rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
}

eachq = fullq.split( "," );
eql = eachq.length;

for( ; j < eql; j++ ){
thisq = eachq[ j ];
mediastyles.push( {
media : thisq.split( "(" )[ 0 ].match( /(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
rules : rules.length - 1,
hasquery: thisq.indexOf("(") > -1,
minw : thisq.match( /\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ),
maxw : thisq.match( /\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" )
} );
}
}

applyMedia();
},

lastCall,

resizeDefer,

// returns the value of 1em in pixels
getEmValue = function() {
var ret,
div = doc.createElement('div'),
body = doc.body,
fakeUsed = false;

div.style.cssText = "position:absolute;font-size:1em;width:1em";

if( !body ){
body = fakeUsed = doc.createElement( "body" );
body.style.background = "none";
}

body.appendChild( div );

docElem.insertBefore( body, docElem.firstChild );

ret = div.offsetWidth;

if( fakeUsed ){
docElem.removeChild( body );
}
else {
body.removeChild( div );
}

//also update eminpx before returning
ret = eminpx = parseFloat(ret);

return ret;
},

//cached container for 1em value, populated the first time it's needed
eminpx,

//enable/disable styles
applyMedia = function( fromResize ){
var name = "clientWidth",
docElemProp = docElem[ name ],
currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp,
styleBlocks = {},
lastLink = links[ links.length-1 ],
now = (new Date()).getTime();

//throttle resize calls
if( fromResize && lastCall && now - lastCall < resizeThrottle ){
clearTimeout( resizeDefer );
resizeDefer = setTimeout( applyMedia, resizeThrottle );
return;
}
else {
lastCall = now;
}

for( var i in mediastyles ){
var thisstyle = mediastyles[ i ],
min = thisstyle.minw,
max = thisstyle.maxw,
minnull = min === null,
maxnull = max === null,
em = "em";

if( !!min ){
min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
}
if( !!max ){
max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 );
}

// if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true
if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){
if( !styleBlocks[ thisstyle.media ] ){
styleBlocks[ thisstyle.media ] = [];
}
styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
}
}

//remove any existing respond style element(s)
for( var i in appendedEls ){
if( appendedEls[ i ] && appendedEls[ i ].parentNode === head ){
head.removeChild( appendedEls[ i ] );
}
}

//inject active styles, grouped by media type
for( var i in styleBlocks ){
var ss = doc.createElement( "style" ),
css = styleBlocks[ i ].join( "\n" );

ss.type = "text/css";
ss.media = i;

//originally, ss was appended to a documentFragment and sheets were appended in bulk.
//this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one!
head.insertBefore( ss, lastLink.nextSibling );

if ( ss.styleSheet ){
ss.styleSheet.cssText = css;
}
else {
ss.appendChild( doc.createTextNode( css ) );
}

//push to appendedEls to track for later removal
appendedEls.push( ss );
}
},
//tweaked Ajax functions from Quirksmode
ajax = function( url, callback ) {
var req = xmlHttp();
if (!req){
return;
}
req.open( "GET", url, true );
req.onreadystatechange = function () {
if ( req.readyState != 4 || req.status != 200 && req.status != 304 ){
return;
}
callback( req.responseText );
}
if ( req.readyState == 4 ){
return;
}
req.send( null );
},
//define ajax obj
xmlHttp = (function() {
var xmlhttpmethod = false;
try {
xmlhttpmethod = new XMLHttpRequest();
}
catch( e ){
xmlhttpmethod = new ActiveXObject( "Microsoft.XMLHTTP" );
}
return function(){
return xmlhttpmethod;
};
})();

//translate CSS
ripCSS();

//expose update for re-running respond later on
respond.update = ripCSS;

//adjust on resize
function callMedia(){
applyMedia( true );
}
if( win.addEventListener ){
win.addEventListener( "resize", callMedia, false );
}
else if( win.attachEvent ){
win.attachEvent( "onresize", callMedia );
}
})(this);
Empty file.
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en">

<head>
<title>Welcome to CourseGrab!</title>


<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">

<link href="http://getbootstrap.com/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet">


</head>

<body>

<div class="container">
<div class="header">
<nav>
<ul class="nav nav-pills pull-right">
<li role="presentation" class="active"><a href="#">Home</a>
</li>
<li role="presentation"><a href="#">Sign In</a>
</li>
<li role="presentation"><a href="showSignUp">Sign Up</a>
</li>
</ul>
</nav>
<h3 class="text-muted">CourseGrab</h3>
</div>

<div class="jumbotron">
<h1>CourseGrab</h1>
<p class="lead"></p>
<p><a class="btn btn-lg btn-success" href="showSignUp" role="button">Sign up today</a>
</p>
</div>

<div class="row marketing">
<div class="col-lg-6">
<h4>Course Number</h4>
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>

<h4>Course Number</h4>
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>

<h4>Course Number</h4>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
</div>

<div class="col-lg-6">
<h4>Course Number</h4>
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>

<h4>Course Number</h4>
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>

<h4>Course Number</h4>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
</div>
</div>

<footer class="footer">
<p>Made by Chase Thomas and Ning Ning Sun</p>
</footer>

</div>
</body>

</html>
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CourseGrab</title>


<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">

<link href="http://getbootstrap.com/examples/jumbotron-narrow/jumbotron-narrow.css" rel="stylesheet">
<link href="../static/signup.css" rel="stylesheet">

</head>

<body>

<div class="container">
<div class="header">
<nav>
<ul class="nav nav-pills pull-right">
<li role="presentation" ><a href="main">Home</a></li>
<li role="presentation"><a href="#">Sign In</a></li>
<li role="presentation" class="active"><a href="#">Sign Up</a></li>
</ul>
</nav>
<h3 class="text-muted">Python Flask App</h3>
</div>

<div class="jumbotron">
<h1>CourseGrab</h1>
<form class="form-signin">
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="inputEmail" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="inputPassword" id="inputPassword" class="form-control" placeholder="Password" required>

<button id="btnSignUp" class="btn btn-lg btn-primary btn-block" type="button">Sign up</button>
</form>
</div>



<footer class="footer">
<p>&copy; Company 2015</p>
</footer>

</div>
</body>
</html>
@@ -0,0 +1,37 @@
"""
Routes and views for the flask application.
"""

from datetime import datetime
from flask import render_template
from CourseGrab import app

@app.route('/')
@app.route('/home')
def home():
"""Renders the home page."""
return render_template(
'index.html',
title='Home Page',
year=datetime.now().year,
)

@app.route('/contact')
def contact():
"""Renders the contact page."""
return render_template(
'contact.html',
title='Contact',
year=datetime.now().year,
message='Your contact page.'
)

@app.route('/about')
def about():
"""Renders the about page."""
return render_template(
'about.html',
title='About',
year=datetime.now().year,
message='Your application description page.'
)

Large diffs are not rendered by default.

BIN +5.59 KB env/.ptvs/UserDict.idb
Binary file not shown.
@@ -0,0 +1,4 @@
IterableUserDict
DictMixin
UserDict
_abcoll
Binary file not shown.
@@ -0,0 +1,171 @@
ArithmeticError
AssertionError
AttributeError
BaseException
BufferError
BytesWarning
DeprecationWarning
EOFError
Ellipsis
EnvironmentError
Exception
False
FloatingPointError
FutureWarning
GeneratorExit
IOError
ImportError
ImportWarning
IndentationError
IndexError
KeyError
KeyboardInterrupt
LookupError
MemoryError
NameError
None
NoneType
NotImplemented
NotImplementedError
OSError
OverflowError
PendingDeprecationWarning
ReferenceError
RuntimeError
RuntimeWarning
StandardError
StopIteration
SyntaxError
SyntaxWarning
SystemError
SystemExit
TabError
True
TypeError
UnboundLocalError
UnicodeDecodeError
UnicodeEncodeError
UnicodeError
UnicodeTranslateError
UnicodeWarning
UserWarning
ValueError
Warning
WindowsError
ZeroDivisionError
__debug__
__doc__
__import__
__name__
__package__
abs
all
any
apply
basestring
bin
bool
buffer
builtin_function
builtin_function_or_method
builtin_method_descriptor
bytearray
bytes
bytes_iterator
callable
callable-iterator
callable_iterator
chr
classmethod
cmp
coerce
compile
complex
copyright
credits
delattr
dict
dict_items
dict_keys
dict_values
dictionary-itemiterator
dictionary-keyiterator
dictionary-valueiterator
dir
divmod
ellipsis
enumerate
eval
execfile
exit
file
filter
float
format
frozenset
function
generator
getattr
globals
hasattr
hash
help
hex
id
input
int
intern
isinstance
issubclass
iter
iterator
len
license
list
list_iterator
listiterator
locals
long
map
max
memoryview
min
module
module_type
next
object
oct
open
ord
pow
print
property
quit
range
raw_input
reduce
reload
repr
reversed
round
set
set_iterator
setattr
setiterator
slice
sorted
staticmethod
str
str_iterator
sum
super
tuple
tuple_iterator
tupleiterator
type
unichr
unicode
unicode_iterator
vars
xrange
zip
BIN +17.3 KB env/.ptvs/_abcoll.idb
Binary file not shown.
@@ -0,0 +1,21 @@
Callable
ABCMeta
Set
MutableSet
Sequence
Mapping
KeysView
MutableSequence
Iterable
_hasattr
Sized
abstractmethod
sys
__all__
Iterator
ValuesView
Hashable
Container
MutableMapping
ItemsView
MappingView
BIN +262 KB env/.ptvs/_ast.idb
Binary file not shown.
@@ -0,0 +1,108 @@
AST
Add
And
Assert
Assign
Attribute
AugAssign
AugLoad
AugStore
BinOp
BitAnd
BitOr
BitXor
BoolOp
Break
Call
ClassDef
Compare
Continue
Del
Delete
Dict
DictComp
Div
Ellipsis
Eq
ExceptHandler
Exec
Expr
Expression
ExtSlice
FloorDiv
For
FunctionDef
GeneratorExp
Global
Gt
GtE
If
IfExp
Import
ImportFrom
In
Index
Interactive
Invert
Is
IsNot
LShift
Lambda
List
ListComp
Load
Lt
LtE
Mod
Module
Mult
Name
Not
NotEq
NotIn
Num
Or
Param
Pass
Pow
Print
PyCF_ONLY_AST
RShift
Raise
Repr
Return
Set
SetComp
Slice
Store
Str
Sub
Subscript
Suite
TryExcept
TryFinally
Tuple
UAdd
USub
UnaryOp
While
With
Yield
__doc__
__name__
__package__
__version__
alias
arguments
boolop
cmpop
comprehension
excepthandler
expr
expr_context
keyword
mod
operator
slice
stmt
unaryop
BIN +4.95 KB env/.ptvs/_bisect.idb
Binary file not shown.
@@ -0,0 +1,9 @@
__doc__
__name__
__package__
bisect
bisect_left
bisect_right
insort
insort_left
insort_right
BIN +13.8 KB env/.ptvs/_codecs.idb
Binary file not shown.
@@ -0,0 +1,46 @@
__doc__
__name__
__package__
ascii_decode
ascii_encode
charbuffer_encode
charmap_build
charmap_decode
charmap_encode
decode
encode
escape_decode
escape_encode
latin_1_decode
latin_1_encode
lookup
lookup_error
mbcs_decode
mbcs_encode
raw_unicode_escape_decode
raw_unicode_escape_encode
readbuffer_encode
register
register_error
unicode_escape_decode
unicode_escape_encode
unicode_internal_decode
unicode_internal_encode
utf_16_be_decode
utf_16_be_encode
utf_16_decode
utf_16_encode
utf_16_ex_decode
utf_16_le_decode
utf_16_le_encode
utf_32_be_decode
utf_32_be_encode
utf_32_decode
utf_32_encode
utf_32_ex_decode
utf_32_le_decode
utf_32_le_encode
utf_7_decode
utf_7_encode
utf_8_decode
utf_8_encode
BIN +426 Bytes env/.ptvs/_codecs_cn.idb
Binary file not shown.
@@ -0,0 +1,8 @@
__doc__
__map_gb18030ext
__map_gb2312
__map_gbcommon
__map_gbkext
__name__
__package__
getcodec
BIN +401 Bytes env/.ptvs/_codecs_hk.idb
Binary file not shown.
@@ -0,0 +1,7 @@
__doc__
__map_big5hkscs
__map_big5hkscs_bmp
__map_big5hkscs_nonbmp
__name__
__package__
getcodec
Binary file not shown.
@@ -0,0 +1,4 @@
__doc__
__name__
__package__
getcodec
BIN +754 Bytes env/.ptvs/_codecs_jp.idb
Binary file not shown.
@@ -0,0 +1,15 @@
__doc__
__map_cp932ext
__map_jisx0208
__map_jisx0212
__map_jisx0213_1_bmp
__map_jisx0213_1_emp
__map_jisx0213_2_bmp
__map_jisx0213_2_emp
__map_jisx0213_bmp
__map_jisx0213_emp
__map_jisx0213_pair
__map_jisxcommon
__name__
__package__
getcodec
BIN +383 Bytes env/.ptvs/_codecs_kr.idb
Binary file not shown.
@@ -0,0 +1,7 @@
__doc__
__map_cp949
__map_cp949ext
__map_ksx1001
__name__
__package__
getcodec
BIN +342 Bytes env/.ptvs/_codecs_tw.idb
Binary file not shown.
@@ -0,0 +1,6 @@
__doc__
__map_big5
__map_cp950ext
__name__
__package__
getcodec
Binary file not shown.
@@ -0,0 +1,5 @@
__doc__
__name__
__package__
defaultdict
deque
BIN +12.1 KB env/.ptvs/_csv.idb
Binary file not shown.
@@ -0,0 +1,18 @@
Dialect
Error
QUOTE_ALL
QUOTE_MINIMAL
QUOTE_NONE
QUOTE_NONNUMERIC
__doc__
__name__
__package__
__version__
_dialects
field_size_limit
get_dialect
list_dialects
reader
register_dialect
unregister_dialect
writer
Binary file not shown.
@@ -0,0 +1,5 @@
__doc__
__name__
__package__
partial
reduce
BIN +4.56 KB env/.ptvs/_heapq.idb
Binary file not shown.
@@ -0,0 +1,11 @@
__about__
__doc__
__name__
__package__
heapify
heappop
heappush
heappushpop
heapreplace
nlargest
nsmallest
BIN +13.8 KB env/.ptvs/_hotshot.idb
Binary file not shown.
@@ -0,0 +1,19 @@
LogReaderType
ProfilerError
ProfilerType
WHAT_ADD_INFO
WHAT_DEFINE_FILE
WHAT_DEFINE_FUNC
WHAT_ENTER
WHAT_EXIT
WHAT_LINENO
WHAT_LINE_TIMES
WHAT_OTHER
__doc__
__name__
__package__
__version__
coverage
logreader
profiler
resolution
BIN +160 KB env/.ptvs/_io.idb
Binary file not shown.
@@ -0,0 +1,20 @@
BlockingIOError
BufferedRWPair
BufferedRandom
BufferedReader
BufferedWriter
BytesIO
DEFAULT_BUFFER_SIZE
FileIO
IncrementalNewlineDecoder
StringIO
TextIOWrapper
UnsupportedOperation
_BufferedIOBase
_IOBase
_RawIOBase
_TextIOBase
__doc__
__name__
__package__
open
BIN +7.37 KB env/.ptvs/_json.idb
Binary file not shown.
@@ -0,0 +1,9 @@
Encoder
Scanner
__doc__
__name__
__package__
encode_basestring_ascii
make_encoder
make_scanner
scanstring
BIN +6.38 KB env/.ptvs/_locale.idb
Binary file not shown.
@@ -0,0 +1,16 @@
CHAR_MAX
Error
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_TIME
__doc__
__name__
__package__
_getdefaultlocale
localeconv
setlocale
strcoll
strxfrm
BIN +14.4 KB env/.ptvs/_lsprof.idb
Binary file not shown.
@@ -0,0 +1,6 @@
Profiler
__doc__
__name__
__package__
profiler_entry
profiler_subentry
BIN +5.58 KB env/.ptvs/_md5.idb
Binary file not shown.
@@ -0,0 +1,7 @@
MD5Type
__doc__
__name__
__package__
digest_size
md5
new
@@ -0,0 +1,7 @@
�}qUmembersq}q(UMultibyteIncrementalEncoderq}q(UkindqUtyperefqUvalueq]q U __builtin__q
UMultibyteIncrementalEncoder�q auU __package__q }q(hUdataqh}qUtypeq]qh
UNoneType�qasuUMultibyteIncrementalDecoderq}q(hhh]qh
UMultibyteIncrementalDecoder�qauUMultibyteStreamReaderq}q(hhh]qh
UMultibyteStreamReader�qauU__name__q}q(hhh}qh]qh
Ustr�qasuU__create_codecq }q!(hUfunctionq"h}q#U overloadsq$NsuU__doc__q%}q&(hhh}q'h]q(hasuUMultibyteStreamWriterq)}q*(hhh]q+h
UMultibyteStreamWriter�q,auus.
@@ -0,0 +1,8 @@
MultibyteIncrementalDecoder
MultibyteIncrementalEncoder
MultibyteStreamReader
MultibyteStreamWriter
__create_codec
__doc__
__name__
__package__
BIN +5.59 KB env/.ptvs/_random.idb
Binary file not shown.
@@ -0,0 +1,4 @@
Random
__doc__
__name__
__package__
BIN +1.05 KB env/.ptvs/_sha.idb
Binary file not shown.
@@ -0,0 +1,7 @@
__doc__
__name__
__package__
blocksize
digest_size
digestsize
new
BIN +737 Bytes env/.ptvs/_sha256.idb
Binary file not shown.
@@ -0,0 +1,5 @@
__doc__
__name__
__package__
sha224
sha256
BIN +737 Bytes env/.ptvs/_sha512.idb
Binary file not shown.
@@ -0,0 +1,5 @@
__doc__
__name__
__package__
sha384
sha512
BIN +7.29 KB env/.ptvs/_sre.idb
Binary file not shown.
@@ -0,0 +1,12 @@
CODESIZE
MAGIC
MAXREPEAT
SRE_Match
SRE_Pattern
__doc__
__name__
__package__
compile
copyright
getcodesize
getlower
BIN +8.75 KB env/.ptvs/_struct.idb
Binary file not shown.
@@ -0,0 +1,14 @@
Struct
_PY_STRUCT_FLOAT_COERCE
_PY_STRUCT_RANGE_CHECKING
__doc__
__name__
__package__
__version__
_clearcache
calcsize
error
pack
pack_into
unpack
unpack_from
Binary file not shown.
@@ -0,0 +1,25 @@
CREATE_NEW_CONSOLE
CREATE_NEW_PROCESS_GROUP
CreatePipe
CreateProcess
DUPLICATE_SAME_ACCESS
DuplicateHandle
GetCurrentProcess
GetExitCodeProcess
GetModuleFileName
GetStdHandle
GetVersion
INFINITE
STARTF_USESHOWWINDOW
STARTF_USESTDHANDLES
STD_ERROR_HANDLE
STD_INPUT_HANDLE
STD_OUTPUT_HANDLE
STILL_ACTIVE
SW_HIDE
TerminateProcess
WAIT_OBJECT_0
WaitForSingleObject
__doc__
__name__
__package__
@@ -0,0 +1,30 @@
�}qUmembersq}q(UUSEq}q(UkindqUdataqUvalueq}q Utypeq
]q U __builtin__q Uint�qasuUGLOBAL_EXPLICITq}q(hhh}qh
]qhasuU
SCOPE_MASKq}q(hhh}qh
]qhasuUDEF_FREEq}q(hhh}qh
]qhasuU
DEF_GLOBALq}q(hhh}qh
]qhasuU DEF_PARAMq}q(hhh}q h
]q!hasuUDEF_FREE_CLASSq"}q#(hhh}q$h
]q%hasuUsymtableq&}q'(hUfunctionq(h}q)(U overloadsq*]q+}q,(Udocq-UAReturn symbol and scope dictionaries used internally by compiler.Uargsq.}q/(U
arg_formatq0U*Unameq1h.u}q2(h0U**q3h1Ukwargsq4u�uah-UAReturn symbol and scope dictionaries used internally by compiler.uuU __package__q5}q6(hhh}q7h
]q8h UNoneType�q9asuUCELLq:}q;(hhh}q<h
]q=hasuU__doc__q>}q?(hhh}q@h
]qAh9asuU TYPE_MODULEqB}qC(hhh}qDh
]qEhasuUOPT_EXECqF}qG(hhh}qHh
]qIhasuUFREEqJ}qK(hhh}qLh
]qMhasuUGLOBAL_IMPLICITqN}qO(hhh}qPh
]qQhasuU__name__qR}qS(hhh}qTh
]qUh Ustr�qVasuULOCALqW}qX(hhh}qYh
]qZhasuU
DEF_IMPORTq[}q\(hhh}q]h
]q^hasuUTYPE_FUNCTIONq_}q`(hhh}qah
]qbhasuUOPT_BARE_EXECqc}qd(hhh}qeh
]qfhasuU DEF_LOCALqg}qh(hhh}qih
]qjhasuU DEF_BOUNDqk}ql(hhh}qmh
]qnhasuU SCOPE_OFFqo}qp(hhh}qqh
]qrhasuUOPT_IMPORT_STARqs}qt(hhh}quh
]qvhasuU
TYPE_CLASSqw}qx(hhh}qyh
]qzhasuus.
@@ -0,0 +1,25 @@
CELL
DEF_BOUND
DEF_FREE
DEF_FREE_CLASS
DEF_GLOBAL
DEF_IMPORT
DEF_LOCAL
DEF_PARAM
FREE
GLOBAL_EXPLICIT
GLOBAL_IMPLICIT
LOCAL
OPT_BARE_EXEC
OPT_EXEC
OPT_IMPORT_STAR
SCOPE_MASK
SCOPE_OFF
TYPE_CLASS
TYPE_FUNCTION
TYPE_MODULE
USE
__doc__
__name__
__package__
symtable
Binary file not shown.
@@ -0,0 +1,8 @@
__doc__
__name__
__package__
default_action
filters
once_registry
warn
warn_explicit
BIN +1.56 KB env/.ptvs/_weakref.idb
Binary file not shown.
@@ -0,0 +1,10 @@
CallableProxyType
ProxyType
ReferenceType
__doc__
__name__
__package__
getweakrefcount
getweakrefs
proxy
ref
Binary file not shown.
@@ -0,0 +1,4 @@
ref
_IterationGuard
__all__
WeakSet
BIN +35.4 KB env/.ptvs/_winreg.idb
Binary file not shown.
@@ -0,0 +1,77 @@
CloseKey
ConnectRegistry
CreateKey
CreateKeyEx
DeleteKey
DeleteKeyEx
DeleteValue
DisableReflectionKey
EnableReflectionKey
EnumKey
EnumValue
ExpandEnvironmentStrings
FlushKey
HKEYType
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
KEY_ALL_ACCESS
KEY_CREATE_LINK
KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS
KEY_EXECUTE
KEY_NOTIFY
KEY_QUERY_VALUE
KEY_READ
KEY_SET_VALUE
KEY_WOW64_32KEY
KEY_WOW64_64KEY
KEY_WRITE
LoadKey
OpenKey
OpenKeyEx
QueryInfoKey
QueryReflectionKey
QueryValue
QueryValueEx
REG_BINARY
REG_CREATED_NEW_KEY
REG_DWORD
REG_DWORD_BIG_ENDIAN
REG_DWORD_LITTLE_ENDIAN
REG_EXPAND_SZ
REG_FULL_RESOURCE_DESCRIPTOR
REG_LEGAL_CHANGE_FILTER
REG_LEGAL_OPTION
REG_LINK
REG_MULTI_SZ
REG_NONE
REG_NOTIFY_CHANGE_ATTRIBUTES
REG_NOTIFY_CHANGE_LAST_SET
REG_NOTIFY_CHANGE_NAME
REG_NOTIFY_CHANGE_SECURITY
REG_NO_LAZY_FLUSH
REG_OPENED_EXISTING_KEY
REG_OPTION_BACKUP_RESTORE
REG_OPTION_CREATE_LINK
REG_OPTION_NON_VOLATILE
REG_OPTION_OPEN_LINK
REG_OPTION_RESERVED
REG_OPTION_VOLATILE
REG_REFRESH_HIVE
REG_RESOURCE_LIST
REG_RESOURCE_REQUIREMENTS_LIST
REG_SZ
REG_WHOLE_HIVE_VOLATILE
SaveKey
SetValue
SetValueEx
WindowsError
__doc__
__name__
__package__
error
BIN +3.93 KB env/.ptvs/abc.idb
Binary file not shown.
@@ -0,0 +1,7 @@
abstractmethod
_InstanceType
abstractproperty
WeakSet
types
ABCMeta
_C
BIN +19.9 KB env/.ptvs/array.idb
Binary file not shown.
@@ -0,0 +1,5 @@
ArrayType
__doc__
__name__
__package__
array
BIN +3.96 KB env/.ptvs/audioop.idb
Binary file not shown.
@@ -0,0 +1,29 @@
__doc__
__name__
__package__
add
adpcm2lin
alaw2lin
avg
avgpp
bias
cross
error
findfactor
findfit
findmax
getsample
lin2adpcm
lin2alaw
lin2lin
lin2ulaw
max
maxpp
minmax
mul
ratecv
reverse
rms
tomono
tostereo
ulaw2lin
BIN +14.9 KB env/.ptvs/binascii.idb
Binary file not shown.
@@ -0,0 +1,21 @@
Error
Incomplete
__doc__
__name__
__package__
a2b_base64
a2b_hex
a2b_hqx
a2b_qp
a2b_uu
b2a_base64
b2a_hex
b2a_hqx
b2a_qp
b2a_uu
crc32
crc_hqx
hexlify
rlecode_hqx
rledecode_hqx
unhexlify
BIN +25.4 KB env/.ptvs/cPickle.idb
Binary file not shown.
@@ -0,0 +1,19 @@
BadPickleGet
HIGHEST_PROTOCOL
PickleError
Pickler
PicklingError
UnpickleableError
Unpickler
UnpicklingError
__builtins__
__doc__
__name__
__package__
__version__
compatible_formats
dump
dumps
format_version
load
loads
Binary file not shown.
@@ -0,0 +1,9 @@
InputType
OutputType
StringI
StringIO
StringO
__doc__
__name__
__package__
cStringIO_CAPI
Binary file not shown.
@@ -0,0 +1,13 @@
bashcomplete
get_choices
split_arg_string
os
MultiCommand
re
_invalid_ident_char_re
resolve_ctx
get_completion_script
do_complete
Option
COMPLETION_SCRIPT
echo
Binary file not shown.
@@ -0,0 +1,63 @@
text_type
should_strip_ansi
_is_compatible_text_stream
_stream_is_misconfigured
io
codecs
colorama
open_stream
get_streerror
get_binary_stdin
WeakKeyDictionary
string_types
_NonClosingTextIOWrapper
_default_text_stdout
_is_binary_reader
bytes
_get_argv_encoding
is_ascii_encoding
get_text_stdout
raw_input
get_binary_stdout
_find_binary_reader
PY2
get_winterm_size
is_bytes
_is_binary_writer
range_type
_force_correct_text_reader
get_filesystem_encoding
set_binary_mode
re
DEFAULT_COLUMNS
_default_text_stdin
auto_wrap_for_ansi
get_text_stderr
_find_binary_writer
msvcrt
_can_replace
_force_correct_text_writer
isidentifier
filename_to_ui
get_best_encoding
sys
_make_text_stream
get_binary_stderr
term_len
get_text_stdin
_make_cached_stream_func
binary_streams
strip_ansi
_get_windows_console_stream
_FixupStream
text_streams
_identifier_re
os
_default_text_stderr
_ansi_re
iteritems
isatty
_ansi_stream_wrappers
_AtomicFile
_replace
WIN
Binary file not shown.
@@ -0,0 +1,30 @@
sys
echo
time
PY2
Editor
WIN
termios
_translate_ch_to_exc
_nullpager
os
ProgressBar
BEFORE_BAR
strip_ansi
_length_hint
msvcrt
open_url
isatty
range_type
get_best_encoding
term_len
pager
getchar
math
AFTER_BAR
_tempfilepager
_pipepager
open_stream
ClickException
tty
_default_text_stdout
Binary file not shown.
@@ -0,0 +1,3 @@
contextmanager
TextWrapper
textwrap
Binary file not shown.
@@ -0,0 +1,8 @@
PY2
_check_for_unicode_literals
os
click
codecs
_verify_python3_env
_find_unicode_literals_frame
sys
Binary file not shown.
@@ -0,0 +1,61 @@
time
PyBUF_WRITABLE
msvcrt
c_void_p
CommandLineToArgvW
ERROR_OPERATION_ABORTED
ConsoleStream
STDOUT_HANDLE
_get_windows_console_stream
c_ssize_p
LPWSTR
ReadConsoleW
ERROR_NOT_ENOUGH_MEMORY
c_int
_get_text_stdout
c_char_p
ERROR_SUCCESS
c_char
pythonapi
byref
STDIN_HANDLE
PY2
_WindowsConsoleWriter
_WindowsConsoleRawIOBase
GetCommandLineW
PyBUF_SIMPLE
c_ulong
kernel32
_get_windows_argv
STDIN_FILENO
ctypes
text_type
GetLastError
io
PyObject_GetBuffer
_WindowsConsoleReader
GetStdHandle
_stream_factories
sys
_NonClosingTextIOWrapper
_initial_argv_hash
py_object
_hash_py_argv
_get_text_stderr
c_ssize_t
Py_buffer
_get_text_stdin
STDERR_FILENO
STDOUT_FILENO
windll
zlib
os
PyBuffer_Release
get_buffer
WINFUNCTYPE
WriteConsoleW
STDERR_HANDLE
POINTER
EOF
MAX_BYTES_WRITTEN
LPCWSTR
Binary file not shown.
@@ -0,0 +1,50 @@
get_os_args
Parameter
join_options
command
Context
prompt
Argument
BaseCommand
split_opt
isidentifier
make_str
HelpFormatter
Group
iter_params_for_processing
SUBCOMMAND_METAVAR
repeat
MissingParameter
convert_type
CommandCollection
PY2
iteritems
Abort
UsageError
_missing
push_context
group
contextmanager
ClickException
_check_multicommand
_verify_python3_env
_check_for_unicode_literals
update_wrapper
BOOL
sys
Option
Command
batch
_bashcomplete
augment_usage_errors
os
IntRange
make_default_short_help
invoke_param_callback
SUBCOMMANDS_METAVAR
echo
MultiCommand
confirm
OptionParser
pop_context
BadParameter
Binary file not shown.
@@ -0,0 +1,24 @@
get_current_context
echo
_make_command
iteritems
_check_for_unicode_literals
password_option
option
_param_memo
pass_obj
inspect
sys
argument
update_wrapper
group
pass_context
Command
Argument
confirmation_option
make_pass_decorator
help_option
command
Group
Option
version_option
Binary file not shown.
@@ -0,0 +1,13 @@
PY2
FileError
NoSuchOption
MissingParameter
get_text_stderr
BadParameter
UsageError
BadArgumentUsage
BadOptionUsage
Abort
filename_to_ui
echo
ClickException
Binary file not shown.
@@ -0,0 +1,10 @@
term_len
wrap_text
contextmanager
get_terminal_size
join_options
split_opt
HelpFormatter
measure_table
iter_rows
FORCED_WIDTH
Binary file not shown.
@@ -0,0 +1,6 @@
_local
resolve_color_default
push_context
pop_context
local
get_current_context
Binary file not shown.
@@ -0,0 +1,84 @@
INT
pause
Choice
disable_unicode_literals_warning
BadArgumentUsage
ClickException
get_text_stream
testing
get_os_args
IntRange
Argument
Command
format_filename
style
__version__
__all__
pass_obj
utils
core
Context
BadOptionUsage
wrap_text
_compat
launch
getchar
parser
OptionParser
password_option
progressbar
BadParameter
_termui_impl
types
make_pass_decorator
File
exceptions
confirmation_option
confirm
Parameter
open_file
get_app_dir
decorators
_bashcomplete
Abort
termui
group
_unicodefun
UUID
NoSuchOption
Group
UsageError
MultiCommand
echo
get_current_context
command
unstyle
Tuple
ParamType
BaseCommand
edit
clear
get_terminal_size
_textwrap
UNPROCESSED
option
FLOAT
argument
Option
formatting
prompt
_winconsole
secho
echo_via_pager
CommandCollection
globals
pass_context
STRING
help_option
BOOL
get_binary_stream
HelpFormatter
version_option
FileError
MissingParameter
Path
Binary file not shown.
@@ -0,0 +1,15 @@
split_arg_string
_error_opt_args
_unpack_args
NoSuchOption
OptionParser
ParsingState
normalize_opt
split_opt
UsageError
BadArgumentUsage
BadOptionUsage
Option
Argument
re
deque
Binary file not shown.
@@ -0,0 +1,35 @@
text_type
getchar
_ansi_reset_all
prompt
_getchar
_build_prompt
get_terminal_size
string_types
secho
struct
clear
visible_prompt_func
convert_type
raw_input
resolve_color_default
style
_ansi_colors
Abort
isatty
confirm
unstyle
UsageError
DEFAULT_COLUMNS
hidden_prompt_func
progressbar
echo_via_pager
sys
edit
strip_ansi
os
pause
get_winterm_size
echo
launch
WIN
Binary file not shown.
@@ -0,0 +1,15 @@
PY2
make_input_stream
os
Result
clickpkg
tempfile
iteritems
_find_binary_reader
shutil
CliRunner
StringIO
io
contextlib
sys
EchoingStdin
Binary file not shown.
@@ -0,0 +1,33 @@
Tuple
Choice
convert_type
PY2
_get_argv_encoding
UnprocessedParamType
ParamType
IntRange
FuncParamType
UNPROCESSED
os
open_stream
FLOAT
BOOL
FloatParamType
File
safecall
INT
LazyFile
BoolParamType
UUIDParameterType
IntParamType
StringParamType
BadParameter
stat
text_type
UUID
filename_to_ui
get_streerror
get_filesystem_encoding
STRING
Path
CompositeParamType
Binary file not shown.
@@ -0,0 +1,37 @@
get_os_args
should_strip_ansi
auto_wrap_for_ansi
filename_to_ui
make_str
string_types
format_filename
_hash_py_argv
LazyFile
_initial_argv_hash
KeepOpenFile
_posixify
_default_text_stderr
resolve_color_default
PY2
is_bytes
get_binary_stream
get_filesystem_encoding
get_text_stream
safecall
text_type
_find_binary_writer
get_streerror
sys
open_stream
_default_text_stdout
get_app_dir
binary_streams
strip_ansi
echo_native_types
os
text_streams
make_default_short_help
echo
open_file
WIN
_get_windows_argv
BIN +4.84 KB env/.ptvs/cmath.idb
Binary file not shown.
@@ -0,0 +1,26 @@
__doc__
__name__
__package__
acos
acosh
asin
asinh
atan
atanh
cos
cosh
e
exp
isinf
isnan
log
log10
phase
pi
polar
rect
sin
sinh
sqrt
tan
tanh
BIN +35.2 KB env/.ptvs/codecs.idb
Binary file not shown.
@@ -0,0 +1,105 @@
iterencode
getincrementaldecoder
getwriter
charmap_encode
unicode_internal_encode
register_error
ImportError
getdecoder
IncrementalEncoder
why
unicode_escape_decode
StreamReaderWriter
charbuffer_encode
StreamWriter
__all__
escape_decode
BOM_UTF32_BE
utf_32_encode
raw_unicode_escape_encode
utf_8_encode
charmap_decode
utf_7_encode
getreader
unicode_escape_encode
len
EncodedFile
set
utf_8_decode
__name__
utf_7_decode
utf_16_le_encode
utf_16_encode
ascii_decode
mbcs_encode
BOM_BE
BOM64_BE
open
BOM_UTF32_LE
strict_errors
UnicodeDecodeError
BOM32_LE
lookup_error
BOM32_BE
utf_32_be_encode
False
NotImplementedError
encode
utf_32_le_decode
make_identity_dict
id
decode
unicode_internal_decode
utf_16_le_decode
BOM_UTF32
_false
LookupError
BOM_UTF8
BOM_UTF16
tuple
utf_32_ex_decode
BOM_UTF16_LE
utf_16_decode
StreamRecoder
BufferedIncrementalDecoder
BufferedIncrementalEncoder
raw_unicode_escape_decode
BOM_UTF16_BE
sys
StopIteration
mbcs_decode
object
ascii_encode
ignore_errors
utf_32_decode
utf_32_le_encode
utf_16_be_decode
iterdecode
BOM
getencoder
True
SystemError
BOM64_LE
utf_16_ex_decode
BOM_LE
charmap_build
StreamReader
latin_1_encode
replace_errors
encodings
__builtin__
register
CodecInfo
backslashreplace_errors
xmlcharrefreplace_errors
latin_1_decode
lookup
make_encoding_map
readbuffer_encode
utf_32_be_decode
utf_16_be_encode
getincrementalencoder
getattr
IncrementalDecoder
Codec
escape_encode
BIN +2.75 KB env/.ptvs/copy_reg.idb
Binary file not shown.
@@ -0,0 +1,17 @@
_HEAPTYPE
_reconstructor
pickle_complex
pickle
clear_extension_cache
_extension_registry
_slotnames
_ClassType
dispatch_table
__all__
constructor
__newobj__
add_extension
_inverted_registry
_extension_cache
remove_extension
_reduce_ex
@@ -0,0 +1,2 @@
C:\Users\nsun2\OneDrive\Documents\CS and programming\Projects\CourseGrab\CourseGrab\env\Lib|stdlib|
C:\Users\nsun2\OneDrive\Documents\CS and programming\Projects\CourseGrab\CourseGrab\env\Lib\site-packages||
@@ -0,0 +1 @@
25
BIN +42.1 KB env/.ptvs/datetime.idb
Binary file not shown.
@@ -0,0 +1,11 @@
MAXYEAR
MINYEAR
__doc__
__name__
__package__
date
datetime
datetime_CAPI
time
timedelta
tzinfo
Binary file not shown.
@@ -0,0 +1,51 @@
sysconfig
sysconfig_get_python_inc
dist
find_config_files
build_ext_module
old_get_python_lib
old_find_config_files
imp
dirname
__revision__
old_build_ext
old_get_config_vars
sysconfig_get_python_lib
sys
opcode
old_get_python_inc
__version__
real_distutils
build_ext
distutils_path
warnings
os
basestring
sysconfig_get_config_vars
msvc9compiler
text_file
tests
cmd
filelist
util
bcppcompiler
errors
command
versionpredicate
core
extension
debug
fancy_getopt
file_util
log
msvccompiler
archive_util
ccompiler
version
config
emxccompiler
spawn
dep_util
dir_util
cygwinccompiler
unixccompiler
Binary file not shown.
@@ -0,0 +1 @@
main
Binary file not shown.
@@ -0,0 +1 @@
aliases
Binary file not shown.
@@ -0,0 +1,8 @@
getregentry
IncrementalDecoder
StreamConverter
IncrementalEncoder
codecs
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
getregentry
StreamWriter
base64
Codec
IncrementalEncoder
base64_decode
codecs
IncrementalDecoder
StreamReader
base64_encode
Binary file not shown.
@@ -0,0 +1,10 @@
codec
StreamWriter
Codec
mbc
getregentry
codecs
_codecs_tw
IncrementalDecoder
StreamReader
IncrementalEncoder
Binary file not shown.
@@ -0,0 +1,10 @@
codec
StreamWriter
IncrementalEncoder
mbc
getregentry
codecs
_codecs_hk
IncrementalDecoder
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
getregentry
StreamWriter
bz2
IncrementalEncoder
codecs
bz2_decode
IncrementalDecoder
StreamReader
Codec
bz2_encode
Binary file not shown.
@@ -0,0 +1,7 @@
codecs
IncrementalDecoder
IncrementalEncoder
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,10 @@
codecs
decoding_map
IncrementalDecoder
encoding_map
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.
@@ -0,0 +1,9 @@
codecs
IncrementalDecoder
encoding_table
IncrementalEncoder
decoding_table
getregentry
StreamWriter
StreamReader
Codec
Binary file not shown.