2022-2023/2gt1/230118_DS3/Ds3.ipynb

1381 lines
3.6 MiB
Plaintext
Raw Normal View History

2023-01-26 04:27:47 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "25b1d95f",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:43.166855Z",
"iopub.status.busy": "2023-01-25T10:10:43.166337Z",
"iopub.status.idle": "2023-01-25T10:10:43.914296Z",
"shell.execute_reply": "2023-01-25T10:10:43.913776Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.806039,
"end_time": "2023-01-25T10:10:43.914380",
"exception": false,
"start_time": "2023-01-25T10:10:43.108341",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" define('plotly', function(require, exports, module) {\n",
" /**\n",
"* plotly.js v2.8.3\n",
"* Copyright 2012-2021, Plotly, Inc.\n",
"* All rights reserved.\n",
"* Licensed under the MIT license\n",
"*/\n",
"!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,(function(t){return i(e[o][1][t]||t)}),u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:transparent;border:6px solid transparent;z-index:10
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n",
" * @license MIT\n",
" */function i(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function a(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t(\"util/\"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c=\"foo\"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function f(t){return!a(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=y,p=/\\s*function\\s+([^\\(\\s]*)\\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function m(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function v(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function y(t,e){t||v(t,!0,e,\"==\",h.ok)}function x(t,e,r,n){if(t===e)return!0;if(a(t)&&a(e))return 0===i(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(f(t)&&f(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(a(t)!==a(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=b(t),a=b(e);if(i&&!a||!i&&a)return!1;if(i)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=T(t),f=T(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&v(i,r,\"Missing expected exception\"+n);var a=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&o.isError(i)&&a&&_(i,r)||s)&&v(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!_(i,r)||!t&&i)throw i}h.AssertionError=function(t){this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return m(g(t.actual),128)+\" \"+t.operator+\" \"+m(g(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=d(e),a=n.indexOf(\"\\n\"+i);if(a>=0){var o=n.indexOf(\"\\n\",a+1);n=n.substring(o+1)}this.stack=n}}},o.inherits(h.AssertionError,Error),h.fail=v,h.ok=y,h.equal=function(t,e,r){t!=e&&v(t,e,r,\"==\",h.equal)},h.notEqual=function(t,e,r){t==e&&v(t,e,r,\"!=\",h.notEqual)},h.deepEqual=function(t,e,r){x(t,e,!1)||v(t,e,r,\"deepEqual\",h.deepEqual)},h.deepStrictEqual=function(t,e,r){x(t,e,!0)||v(t,e,r,\"deepStrictEqual\",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){x(t,e,!1)&&v(t,e,r,\"notDeepEqual\",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&v(e,r,n,\"notDeepStrictEqual\",t)},h.strictEqual=function(t,e
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function s(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}i
"/*! Native Promise Only\n",
" v0.8.1 (c) Kyle Simpson\n",
" MIT License: http://getify.mit-license.org\n",
"*/\n",
"!function(t,r,n){r[t]=r[t]||n(),void 0!==e&&e.exports&&(e.exports=r[t])}(\"Promise\",void 0!==t?t:this,(function(){\"use strict\";var t,e,n,i=Object.prototype.toString,a=void 0!==r?function(t){return r(t)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(t,e,r,n){return Object.defineProperty(t,e,{value:r,writable:!0,configurable:!1!==n})}}catch(e){t=function(t,e,r){return t[e]=r,t}}function o(t,r){n.add(t,r),e||(e=a(n.drain))}function s(t){var e,r=typeof t;return null==t||\"object\"!=r&&\"function\"!=r||(e=t.then),\"function\"==typeof e&&e}function l(){for(var t=0;t<this.chain.length;t++)c(this,1===this.state?this.chain[t].success:this.chain[t].failure,this.chain[t]);this.chain.length=0}function c(t,e,r){var n,i;try{!1===e?r.reject(t.msg):(n=!0===e?t.msg:e.call(void 0,t.msg))===r.promise?r.reject(TypeError(\"Promise-chain cycle\")):(i=s(n))?i.call(n,r.resolve,r.reject):r.resolve(n)}catch(t){r.reject(t)}}function u(t){var e,r=this;if(!r.triggered){r.triggered=!0,r.def&&(r=r.def);try{(e=s(t))?o((function(){var n=new p(r);try{e.call(t,(function(){u.apply(n,arguments)}),(function(){f.apply(n,arguments)}))}catch(t){f.call(n,t)}})):(r.msg=t,r.state=1,r.chain.length>0&&o(l,r))}catch(t){f.call(new p(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var i=0;i<e.length;i++)!function(i){t.resolve(e[i]).then((function(t){r(i,t)}),n)}(i)}function p(t){this.def=t,this.triggered=!1}function d(t){this.promise=t,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(t){if(\"function\"!=typeof t)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var e=new d(this);this.then=function(t,r){var n={success:\"function\"!=typeof t||t,failure:\"function\"==typeof r&&r};return n.promise=new this.constructor((function(t,e){if(\"function\"!=typeof t||\"function\"!=typeof e)throw TypeError(\"Not a function\");n.resolve=t,n.reject=e})),e.chain.push(n),0!==e.state&&o(l,e),n.promise},this.catch=function(t){return this.then(void 0,t)};try{t.call(void 0,(function(t){u.call(e,t)}),(function(t){f.call(e,t)}))}catch(t){f.call(e,t)}}n=function(){var t,r,n;function i(t,e){this.fn=t,this.self=e,this.next=void 0}return{add:function(e,a){n=new i(e,a),r?r.next=n:t=n,r=n,n=void 0},drain:function(){var n=t;for(t=r=e=void 0;n;)n.fn.call(n.self),n=n.next}}}();var g=t({},\"constructor\",m,!1);return m.prototype=g,t(g,\"__NPO__\",0,!1),t(m,\"resolve\",(function(t){return t&&\"object\"==typeof t&&1===t.__NPO__?t:new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");e(t)}))})),t(m,\"reject\",(function(t){return new this((function(e,r){if(\"function\"!=typeof e||\"function\"!=typeof r)throw TypeError(\"Not a function\");r(t)}))})),t(m,\"all\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):0===t.length?e.resolve([]):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");var i=t.length,a=Array(i),o=0;h(e,t,(function(t,e){a[t]=e,++o===i&&r(a)}),n)}))})),t(m,\"race\",(function(t){var e=this;return\"[object Array]\"!=i.call(t)?e.reject(TypeError(\"Not an array\")):new e((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");h(e,t,(function(t,e){r(e)}),n)}))})),m}))}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"timers\").setImmediate)},{timers:311}],246:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var m=(t-(f=(d=l(f,h,-o)).x))/2,g=(e-(h=d.y))/2,v=m*m/(r*r)+g*g/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*m*m)/(y*g*g+x*m*m)));b==1/0&&(
"/*\n",
"object-assign\n",
"(c) Sindre Sorhus\n",
"@license MIT\n",
"*/\n",
"\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){n[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),c=1;c<arguments.length;c++){for(var u in r=Object(arguments[c]))i.call(r,u)&&(l[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(l[s[f]]=r[s[f]])}}return l}},{}],248:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],i=e.escape||\"___\",a=!!e.flat;n.forEach((function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),t[0]+\"$1\"+t[1])})),e}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r}),\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],249:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":253}],250:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(i.splice(0,n[o])))}})),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],251:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],252:[function(t,e,r){(function(t){(function(){(function(){var r,n,
"/*\n",
" * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n",
" * @license MIT\n",
" * @preserve Project Home: https://github.com/voidqk/polybooljs\n",
" */\n",
"var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":255,\"./lib/epsilon\":256,\"./lib/geojson\":257,\"./lib/intersecter\":258,\"./lib/segment-chainer\":260,\"./lib/segment-selector\":261}],255:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\" \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],256:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t)&&!(l-(a*a+s*s)>-t)},pointsSameX:function(e,r){r
"/*!\n",
" * The buffer module from node.js, for the browser.\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"\"use strict\";var e=t(\"base64-js\"),n=t(\"ieee754\");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!a.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return c(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=a.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return a.from(n,e,r);var o=function(t){if(a.isBuffer(t)){var e=0|u(t.length),r=i(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return\"number\"!=typeof t.length||N(t.length)?i(0):c(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return c(t.data)}(t);if(o)return o;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return a.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function s(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function l(t){return s(t),i(t<0?0:0|u(t))}function c(t){for(var e=t.length<0?0:0|u(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function u(t){if(t>=2147483647)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+2147483647..toString(16)+\" bytes\");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return D(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return R(t).length;default:if(i)return n?-1:D(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return M(this,e,r);case\"utf8\":case\"utf-8\":return T(this,e,r);case\"ascii\":return k(this,e,r);case\"latin1\":case\"binary\":return A(this,e,r);case\"base64\":return w(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function p(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function d(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}i
"/*!\n",
" * Determine if an object is a Buffer\n",
" *\n",
" * @author Feross Aboukhadijeh <https://feross.org>\n",
" * @license MIT\n",
" */\n",
"e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],238:[function(t,e,r){\"use strict\";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||\"undefined\"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),\"string\"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf(\"Macintosh\")&&-1!==e.indexOf(\"Safari\")&&(r=!0),r}},{}],239:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],241:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,g,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),y=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],y[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,y[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,y[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,y[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var I=0;I<3;I++)r[I]*=-1,p[I][0]*=-1,p[I][1]*=-1,p[I][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":242,\"gl-mat4/clone\":92,\"gl-mat4/create\":93,\"gl-mat4/determinant\":94,\"gl-mat4/invert\":98,\"gl-mat4/transpose\":109,\"gl-vec3/cross\":157,\"gl-vec3/dot\":162,\"gl-vec3/length\":172,\"gl-vec3/normalize\":179}],242:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],243:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"
"/*!\n",
" * pad-left <https://github.com/jonschlinkert/pad-left>\n",
" *\n",
" * Copyright (c) 2014-2015, Jon Schlinkert.\n",
" * Licensed under the MIT license.\n",
" */\n",
"\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=void 0!==r?r+\"\":\" \",e)+t}},{\"repeat-string\":277}],265:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],266:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],m=d[1^f];n(e[t],e[r],e[s],e[m])>0&&(o=d,s=m,l=f)}return i||o&&c(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var m=f(o,p);h(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":54}],267:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;var u=r[c];for(s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)if(i[s]){c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;var d=[];for(s=0;s<t.length;++s){var m=t[s];i[m[0]]&&i[m[1]]&&d.push([h[m[0]],h[m[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":66}],268:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(t,e);var m=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0}))).length,g=new Array(m),v=new Array(m);for(p=0;p<m;++p){g[p]=p;var y=new Array(m),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<m;++w)if(y[w]=0,p!==w){for(var T=(H=d[w]).length,k=0;k<T;++k){var A=b(e[H[k]]);if(0!==A){A<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort((function(t,e){return e[0]-t[0]}));for(p=0;p<m;++p){var M=(y=v[p])[1],S=y[2];for(w=0;w<m;++w)S[w]&&(g[w]=M)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(m);for(p=0;p<m;++p)E[p].push(g[p]),E[g[p]].push(p);var L={},C=u(f,!1);for(p=0;p<m;++p)for(T=(H=d[p]).length,w=0;w<T;++w){var P=H[w],I=H[(w+1)%T],O=Math.min(P,I)+\":\"+Math.max(P,I);if(O in L){var z=L[O];E[z].push(p),E[p].push(z),C[P]=C[I]=!0}else L[O]=p}function D(t){for(var e=t.length,r=0;r<e;++r)if(!C[t[r]])return!1;return!0}var R=[],F=u(m,-1);for(p=0;p<m;++p)g[p]!==p||D(d[p])?F[p]=-1:(R.push(p),F[p]=0);r=[];for(;R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p<U;++p){var q=N[p];if(!(F[q]>=0))if(F[q]=1^V,R.push(q),0===V)D(H=d[q])||(H.reverse(),j.push(H))}0===V&&r.push(j)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":267,\"edges-to-adjacency-list\":66,\"planar-dual\":266,\"point-in-big-polygon\":269,\"robust-sum\":289,\"two-product\":306,uniq:310}],269:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[]
"/*!\n",
" * repeat-string <https://github.com/jonschlinkert/repeat-string>\n",
" *\n",
" * Copyright (c) 2014-2015, Jon Schlinkert.\n",
" * Licensed under the MIT License.\n",
" */\n",
"\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],278:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,void 0!==n?n:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],279:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;a=t[i];(l=(o=r)-((r=a+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},{}],280:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-compress\");function s(t,e,r,n){return function(e){return n(t(r(e[0][0],e[1][1]),r(-e[0][1],e[1][0])))}}function l(t,e,r,n){return function(i){return n(t(e(t(r(i[1][1],i[2][2]),r(-i[1][2],i[2][1])),i[0][0]),t(e(t(r(i[1][0],i[2][2]),r(-i[1][2],i[2][0])),-i[0][1]),e(t(r(i[1][0],i[2][1]),r(-i[1][1],i[2][0])),i[0][2]))))}}function c(t){return(2===t?s:3===t?l:void 0)(i,a,n,o)}var u=[function(){return[0]},function(t){return[t[0][0]]}];function f(t,e,r,n,i,a){return function(o){switch(o.length){case 0:return t(o);case 1:return e(o);case 2:return r(o);case 3:return n(o)}var s=i[o.length];return s||(s=i[o.length]=a(o.length)),s(o)}}!function(){for(;u.length<4;)u.push(c(u.length));e.exports=f.apply(void 0,u.concat([u,c]));for(var t=0;t<u.length;++t)e.exports[t]=u[t]}()},{\"robust-compress\":279,\"robust-scale\":286,\"robust-sum\":289,\"two-product\":306}],281:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\"robust-sum\":289,\"two-product\":306}],282:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-subtract\"),o=t(\"robust-scale\");function s(t){return(3===t?l:4===t?c:5===t?u:f)(i,a,n,o)}function l(t,e,r,n){return function(i,a,o){var s=r(i[0],i[0]),l=n(s,a[0]),c=n(s,o[0]),u=r(a[0],a[0]),f=n(u,i[0]),h=n(u,o[0]),p=r(o[0],o[0]),d=n(p,i[0]),m=n(p,a[0]),g=t(e(m,h),e(f,l)),v=e(d,c),y=e(g,v);return y[y.length-1]}}function c(t,e,r,n){return function(i,a,o,s){var l=t(r(i[0],i[0]),r(i[1],i[1])),c=n(l,a[0]),u=n(l,o[0]),f=n(l,s[0]),h=t(r(a[0],a[0]),r(a[1],a[1])),p=n(h,i[0]),d=n(h,o[0]),m=n(h,s[0]),g=t(r(o[0],o[0]),r(o[1],o[1])),v=n(g,i[0]),y=n(g,a[0]),x=n(g,s[0]),b=t(r(s[0],s[0]),r(s[1],s[1])),_=n(b,i[0]),w=n(b,a[0]),T=n(b,o[0]),k=t(t(n(e(T,x),a[1]),t(n(e(w,m),-o[1]),n(e(y,d),s[1]))),t(n(e(w,m),i[1]),t(n(e(_,f),-a[1]),n(e(p,c),s[1])))),A=t(t(n(e(T,x),i[1]),t(n(e(_,f),-o[1]),n(e(v,u),s[1]))),t(n(e(y,d),i[1]),t(n(e(v,u),-a[1]),n(e(p,c),o[1])))),M=e(k,A);return M[M.length-1]}}function u(t,e,r,n){return function(i,a,o,s,l){var c=t(r(i[0],i[0]),t(r(i[1],i[1]),r(i[2],i[2]))),u=n(c,a[0]),f=n(c,o[0]),h=n(c,s[0]),p=n(c,l[0]),d=t(r(a[0],a[0]),t(r(a[1],a[1]),r(a[2],a[2]))),m=n(d,i[0]),g=n(d,o[0]),v=n(d,s[0]),y=n(d,l[0]),x=t(r(o[0],o[0]),t(r(o[1],o[1]),r(o[2],o[2]))),b=n(x,i[0]),_=n(x,a[0]),w=n(x,s[0]),T=n(x,l[0]),k=t(r(s[0],s[0]),t(r(s[1],s[1]),r(s[2],s[2]))),A=n(k,i[0]),M=n(k,a[0]),S=n(k,o[0]),E=n(k,l[0]),L=t(r(l[0],l[0]),t(r(l[1],l[1]),r(l[2],l[2]))),C=n(L,i[0]),P=n(L,a[0]),I=n(L,o[0]),O=n(L,s[0]),z=t(t(t(n(t(n(e(O,E),o[1]),t(n(e(I,T),-s[1]),n(e(S,w),l[1]))),a[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),-o[2]),n(t(n(e(I,T),a[1]),t(n(e(P,y),-o[1]),n(e(_,g),l[1]))),s[2]))),t(n(t(n(e(S,w),a[1]),t(n(e(M,v),-o[1]),n(e(_,g),s[1]))),-l[2]),t(n(t(n(e(O,E),a[1]),t(n(e(P,y),-s[1]),n(e(M,v),l[1]))),i[2]),n(t(n(e(O,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-a[2])))),t(t(n(t(n(e(P,y),i[1]),t(n(e(C,p),-a[1]),n(e(m,u),l[1]))),s[2]),t(n(t(n(e(M,v),i[1]),t(n(e(A,h),-a[1]),n(e(m,u),s[1]))),-l[2]),n(t(n(e(S,
" });\n",
" require(['plotly'], function(Plotly) {\n",
" window._Plotly = Plotly;\n",
" });\n",
" }\n",
" </script>\n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.display import Markdown as md\n",
"from IPython.display import display, HTML\n",
"import pandas as pd\n",
"import numpy as np\n",
"import ipywidgets as widgets\n",
"from pathlib import Path\n",
"from datetime import datetime\n",
"from recopytex import flat_df_students, pp_q_scores\n",
"from datetime import datetime\n",
"\n",
"\n",
"import chart_studio.plotly as py\n",
"import plotly.graph_objects as go\n",
"import plotly.figure_factory as ff\n",
"\n",
"from plotly.offline import iplot, init_notebook_mode\n",
"init_notebook_mode()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "3a865047",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:44.072723Z",
"iopub.status.busy": "2023-01-25T10:10:44.072276Z",
"iopub.status.idle": "2023-01-25T10:10:44.073598Z",
"shell.execute_reply": "2023-01-25T10:10:44.073954Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.083378,
"end_time": "2023-01-25T10:10:44.074048",
"exception": false,
"start_time": "2023-01-25T10:10:43.990670",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": [
"parameters"
]
},
"outputs": [],
"source": [
"tribe = \"ES\"\n",
"assessment = \"ds2\"\n",
"date = \"14/10/19\"\n",
"csv_file = Path(f\"../{tribe}/191014_{assessment}.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "df6b05cb",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:44.238434Z",
"iopub.status.busy": "2023-01-25T10:10:44.238016Z",
"iopub.status.idle": "2023-01-25T10:10:44.239909Z",
"shell.execute_reply": "2023-01-25T10:10:44.239554Z"
},
"papermill": {
"duration": 0.089533,
"end_time": "2023-01-25T10:10:44.239989",
"exception": false,
"start_time": "2023-01-25T10:10:44.150456",
"status": "completed"
},
"tags": [
"injected-parameters"
]
},
"outputs": [],
"source": [
"# Parameters\n",
"tribe = \"2gt1\"\n",
"assessment = \"Ds3\"\n",
"date = \"18/01/23\"\n",
"csv_file = \"/home/lafrite/Cours/2022-2023/Notes/2gt1/230118_DS3.csv\"\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "63832c37",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:44.399057Z",
"iopub.status.busy": "2023-01-25T10:10:44.398594Z",
"iopub.status.idle": "2023-01-25T10:10:44.400487Z",
"shell.execute_reply": "2023-01-25T10:10:44.400821Z"
},
"papermill": {
"duration": 0.084739,
"end_time": "2023-01-25T10:10:44.400914",
"exception": false,
"start_time": "2023-01-25T10:10:44.316175",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/lafrite/Cours/2022-2023/Notes/2gt1/230118_DS3\n"
]
}
],
"source": [
"date = datetime.strptime(date, \"%d/%m/%y\")\n",
"output_path = Path(csv_file[:-4])\n",
"print(output_path)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "2a41f502",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:44.565678Z",
"iopub.status.busy": "2023-01-25T10:10:44.560664Z",
"iopub.status.idle": "2023-01-25T10:10:44.568174Z",
"shell.execute_reply": "2023-01-25T10:10:44.567733Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": false
}
}
}
},
"papermill": {
"duration": 0.090088,
"end_time": "2023-01-25T10:10:44.568263",
"exception": false,
"start_time": "2023-01-25T10:10:44.478175",
"status": "completed"
},
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [
{
"data": {
"text/markdown": [
"# Ds3 (23/01/18) pour 2gt1"
],
"text/plain": [
"<IPython.core.display.Markdown object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"if date is None:\n",
" display(md(f\"# {assessment} pour {tribe}\"))\n",
"else:\n",
" display(md(f\"# {assessment} ({date:%y/%m/%d}) pour {tribe}\"))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "3149dc30",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:44.730685Z",
"iopub.status.busy": "2023-01-25T10:10:44.724580Z",
"iopub.status.idle": "2023-01-25T10:10:44.905557Z",
"shell.execute_reply": "2023-01-25T10:10:44.905222Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.26116,
"end_time": "2023-01-25T10:10:44.905637",
"exception": false,
"start_time": "2023-01-25T10:10:44.644477",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [],
"source": [
"stack_scores = pd.read_csv(csv_file, encoding=\"UTF8\")\n",
"#comments = stack_scores.iloc[0]\n",
"#stack_scores.drop([0], inplace=True)\n",
"scores = flat_df_students(stack_scores).dropna(subset=[\"Score\"])\n",
"scores = pp_q_scores(scores)\n",
"#scores.head()\n",
"#comments.drop()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "48cb4a36",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.073424Z",
"iopub.status.busy": "2023-01-25T10:10:45.073004Z",
"iopub.status.idle": "2023-01-25T10:10:45.076760Z",
"shell.execute_reply": "2023-01-25T10:10:45.076333Z"
},
"extensions": {
"jupyter_dashboards": {
"version": 1,
"views": {
"grid_default": {},
"report_default": {
"hidden": true
}
}
}
},
"papermill": {
"duration": 0.086783,
"end_time": "2023-01-25T10:10:45.076833",
"exception": false,
"start_time": "2023-01-25T10:10:44.990050",
"status": "completed"
},
"slideshow": {
"slide_type": "skip"
},
"tags": []
},
"outputs": [],
"source": [
"exercises_scores = scores.groupby([\"Exercice\", \"Eleve\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "15025186",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.237796Z",
"iopub.status.busy": "2023-01-25T10:10:45.237370Z",
"iopub.status.idle": "2023-01-25T10:10:45.243720Z",
"shell.execute_reply": "2023-01-25T10:10:45.243311Z"
},
"papermill": {
"duration": 0.088772,
"end_time": "2023-01-25T10:10:45.243816",
"exception": false,
"start_time": "2023-01-25T10:10:45.155044",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>Note</th>\n",
" <th>Bareme</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Exercice</th>\n",
" <th>Eleve</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">Exercice 1</th>\n",
" <th>ACHOUR Ilyes</th>\n",
" <td>4.50</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BELARBI Islem</th>\n",
" <td>2.83</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BEN ELALLID Hajar</th>\n",
" <td>1.67</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BISWAS Lina</th>\n",
" <td>3.84</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOULAABA Rayan</th>\n",
" <td>5.01</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Note Bareme\n",
"Exercice Eleve \n",
"Exercice 1 ACHOUR Ilyes 4.50 7.0\n",
" BELARBI Islem 2.83 7.0\n",
" BEN ELALLID Hajar 1.67 7.0\n",
" BISWAS Lina 3.84 7.0\n",
" BOULAABA Rayan 5.01 7.0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"exercises_scores.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "71c672c0",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.403674Z",
"iopub.status.busy": "2023-01-25T10:10:45.402142Z",
"iopub.status.idle": "2023-01-25T10:10:45.405758Z",
"shell.execute_reply": "2023-01-25T10:10:45.405360Z"
},
"papermill": {
"duration": 0.084961,
"end_time": "2023-01-25T10:10:45.405836",
"exception": false,
"start_time": "2023-01-25T10:10:45.320875",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"assessment_scores = scores.groupby([\"Eleve\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "d8a02878",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.565177Z",
"iopub.status.busy": "2023-01-25T10:10:45.564747Z",
"iopub.status.idle": "2023-01-25T10:10:45.566680Z",
"shell.execute_reply": "2023-01-25T10:10:45.567031Z"
},
"papermill": {
"duration": 0.084145,
"end_time": "2023-01-25T10:10:45.567131",
"exception": false,
"start_time": "2023-01-25T10:10:45.482986",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Nom', 'Trimestre', 'Date', 'Exercice', 'Question', 'Competence',\n",
" 'Domaine', 'Commentaire', 'Est_nivele', 'Bareme', 'Eleve', 'Score',\n",
" 'Note', 'Niveau', 'Normalise'],\n",
" dtype='object')"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"scores.columns"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b6717594",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.728560Z",
"iopub.status.busy": "2023-01-25T10:10:45.728135Z",
"iopub.status.idle": "2023-01-25T10:10:45.731751Z",
"shell.execute_reply": "2023-01-25T10:10:45.731351Z"
},
"papermill": {
"duration": 0.087668,
"end_time": "2023-01-25T10:10:45.731831",
"exception": false,
"start_time": "2023-01-25T10:10:45.644163",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"domain_scores = scores.groupby([\"Eleve\", \"Domaine\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})\n",
"domain_scores[\"Normalized\"] = domain_scores[\"Note\"] / domain_scores[\"Bareme\"]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "d87553e1",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:45.897751Z",
"iopub.status.busy": "2023-01-25T10:10:45.897323Z",
"iopub.status.idle": "2023-01-25T10:10:45.898534Z",
"shell.execute_reply": "2023-01-25T10:10:45.898874Z"
},
"papermill": {
"duration": 0.083626,
"end_time": "2023-01-25T10:10:45.898967",
"exception": false,
"start_time": "2023-01-25T10:10:45.815341",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"#domain_scores"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "61a49219",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:46.062234Z",
"iopub.status.busy": "2023-01-25T10:10:46.061635Z",
"iopub.status.idle": "2023-01-25T10:10:46.066226Z",
"shell.execute_reply": "2023-01-25T10:10:46.065794Z"
},
"papermill": {
"duration": 0.089244,
"end_time": "2023-01-25T10:10:46.066308",
"exception": false,
"start_time": "2023-01-25T10:10:45.977064",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"competence_scores = scores.groupby([\"Eleve\", \"Competence\"]).agg({\"Note\": \"sum\", \"Bareme\": \"sum\"})\n",
"competence_scores[\"Normalized\"] = competence_scores[\"Note\"] / competence_scores[\"Bareme\"]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "7c8ad2c9",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:46.230431Z",
"iopub.status.busy": "2023-01-25T10:10:46.229917Z",
"iopub.status.idle": "2023-01-25T10:10:46.231724Z",
"shell.execute_reply": "2023-01-25T10:10:46.232032Z"
},
"papermill": {
"duration": 0.0881,
"end_time": "2023-01-25T10:10:46.232138",
"exception": false,
"start_time": "2023-01-25T10:10:46.144038",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>Note</th>\n",
" <th>Bareme</th>\n",
" <th>Normalized</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Eleve</th>\n",
" <th>Competence</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">TROPHARDY Eline</th>\n",
" <th>Chercher</th>\n",
" <td>3.67</td>\n",
" <td>4.0</td>\n",
" <td>0.92</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Communiquer</th>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>1.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Modéliser</th>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>1.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Rechercher</th>\n",
" <td>1.50</td>\n",
" <td>1.5</td>\n",
" <td>1.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Représenter</th>\n",
" <td>6.00</td>\n",
" <td>6.5</td>\n",
" <td>0.92</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Note Bareme Normalized\n",
"Eleve Competence \n",
"TROPHARDY Eline Chercher 3.67 4.0 0.92\n",
" Communiquer 1.00 1.0 1.00\n",
" Modéliser 1.00 1.0 1.00\n",
" Rechercher 1.50 1.5 1.00\n",
" Représenter 6.00 6.5 0.92"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"competence_scores.tail()"
]
},
{
"cell_type": "markdown",
"id": "3437315d",
"metadata": {
"papermill": {
"duration": 0.079755,
"end_time": "2023-01-25T10:10:46.390215",
"exception": false,
"start_time": "2023-01-25T10:10:46.310460",
"status": "completed"
},
"tags": []
},
"source": [
"### Bilans personnalisés"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "dd4fa512",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:46.554391Z",
"iopub.status.busy": "2023-01-25T10:10:46.553948Z",
"iopub.status.idle": "2023-01-25T10:10:46.573288Z",
"shell.execute_reply": "2023-01-25T10:10:46.571920Z"
},
"papermill": {
"duration": 0.102816,
"end_time": "2023-01-25T10:10:46.573542",
"exception": false,
"start_time": "2023-01-25T10:10:46.470726",
"status": "completed"
},
"scrolled": true,
"tags": []
},
"outputs": [],
"source": [
"import pytex\n",
"#scores.head()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "6a667215",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:46.798157Z",
"iopub.status.busy": "2023-01-25T10:10:46.763738Z",
"iopub.status.idle": "2023-01-25T10:10:46.857599Z",
"shell.execute_reply": "2023-01-25T10:10:46.857906Z"
},
"papermill": {
"duration": 0.190557,
"end_time": "2023-01-25T10:10:46.858001",
"exception": false,
"start_time": "2023-01-25T10:10:46.667444",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"datas = {\n",
" \"assessment\": {\n",
" \"name\": assessment,\n",
" \"date\": date\n",
" },\n",
" #\"exercises\": scores[\"Exercice\"].unique(),\n",
" #\"questions\": scores[[\"Exercice\", 'Question', 'Competence', 'Domaine', 'Commentaire', 'Bareme', 'Est_nivele']],\n",
" \"eleves\": {}\n",
"}\n",
"for e in scores[\"Eleve\"].unique():\n",
" edatas = {\n",
" \"e\": e,\n",
" \"assessment\": assessment_scores.loc[e],\n",
" \"exercices\": exercises_scores.xs(e, level=\"Eleve\"), \"exercices\": exercises_scores.xs(e, level=\"Eleve\"),\n",
" \"domains\": domain_scores.xs(e, level=\"Eleve\"),\n",
" \"competences\": competence_scores.xs(e, level=\"Eleve\"),\n",
" \"exscores\": {}\n",
" }\n",
" for i, ex in edatas[\"exercices\"].iterrows():\n",
" edatas[\"exscores\"][i] = scores.loc[(scores.Exercice==i) & (scores.Eleve==e)]\n",
" datas[\"eleves\"][e] = edatas"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "16b39fd6",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:47.030265Z",
"iopub.status.busy": "2023-01-25T10:10:47.029876Z",
"iopub.status.idle": "2023-01-25T10:10:47.031331Z",
"shell.execute_reply": "2023-01-25T10:10:47.031657Z"
},
"papermill": {
"duration": 0.094801,
"end_time": "2023-01-25T10:10:47.031746",
"exception": false,
"start_time": "2023-01-25T10:10:46.936945",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"score_template = r\"\"\"\n",
"\\documentclass[a5paper,10pt]{article}\n",
"\\usepackage{fullpage}\n",
"\\usepackage{booktabs}\n",
"\\usepackage{longtable}\n",
"\\usepackage{tikz}\n",
"\\usepackage{multicol}\n",
"\n",
"\\usepackage{geometry}\n",
"\\geometry{left=10mm,right=10mm, top=10mm}\n",
"\n",
"\\renewcommand{\\arraystretch}{1}\n",
"\\setlength{\\columnseprule}{0pt}\n",
"\n",
"\\pagestyle{empty}\n",
"\n",
"\n",
"\\begin{document}\n",
"\n",
"\n",
" \\section*{\\Var{assessment.name} \\hfill \\Var{e} \\hfill \\Var{sc.assessment.Note}/\\Var{sc.assessment.Bareme}}\n",
" %- for i,ex in sc.exercices.iterrows() \n",
" \\subsection*{\\Var{i}: \\hfill \\Var{ex.Note} / \\Var{ex.Bareme}}\n",
" \\begin{center}\n",
" \\Var{sc.exscores[i].to_latex(index=False, columns=[\"Question\", \"Domaine\", \"Commentaire\", \"Note\", \"Bareme\"])}\n",
" \\end{center}\n",
" %- endfor\n",
" \n",
" \\subsection*{Compétences}\n",
" \\begin{multicols}{2}\n",
" %- for i,dom in sc.competences.iterrows()\n",
" \\noindent\n",
" \\Var{i} \\hfill\n",
" \\begin{tikzpicture}[scale=0.7]\n",
" \\draw [](0,0) rectangle (3, 1);\n",
" \\draw [fill=black!20] (0, 0) rectangle (\\Var{dom.Normalized*3}, 1);\n",
" \\end{tikzpicture}\n",
" \\hfill\n",
" %\\Var{dom.Normalized}\n",
" \n",
" %- endfor\n",
" \\end{multicols}\n",
"\n",
"\\end{document}\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "e7d7716e",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:47.201846Z",
"iopub.status.busy": "2023-01-25T10:10:47.201482Z",
"iopub.status.idle": "2023-01-25T10:10:52.359079Z",
"shell.execute_reply": "2023-01-25T10:10:52.358209Z"
},
"papermill": {
"duration": 5.248501,
"end_time": "2023-01-25T10:10:52.359211",
"exception": false,
"start_time": "2023-01-25T10:10:47.110710",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wrote 230118_Ds3_ACHOUR Ilyes.tex\n",
"Wrote 230118_Ds3_BELARBI Islem.tex\n",
"Wrote 230118_Ds3_BEN ELALLID Hajar.tex\n",
"Wrote 230118_Ds3_BISWAS Lina.tex\n",
"Wrote 230118_Ds3_BOULAABA Rayan.tex\n",
"Wrote 230118_Ds3_BREZUN Ines.tex\n",
"Wrote 230118_Ds3_BUGNON Enzo.tex\n",
"Wrote 230118_Ds3_CALLEWAERT Idaline.tex\n",
"Wrote 230118_Ds3_CATTIN Clément.tex\n",
"Wrote 230118_Ds3_CHRISTMANN Nathan.tex\n",
"Wrote 230118_Ds3_DECOSTER Clément.tex\n",
"Wrote 230118_Ds3_DEHIMAT Launy.tex\n",
"Wrote 230118_Ds3_DUPONT Jessica.tex\n",
"Wrote 230118_Ds3_GASAN Jéssica.tex\n",
"Wrote 230118_Ds3_GEORGET Raphaël.tex\n",
"Wrote 230118_Ds3_HABBAZ Hajar.tex\n",
"Wrote 230118_Ds3_JACQUEMIER Samuel.tex\n",
"Wrote 230118_Ds3_JACQUIER Juliette.tex\n",
"Wrote 230118_Ds3_JOVIC Atanase.tex\n",
"Wrote 230118_Ds3_KASSI Cheïma.tex\n",
"Wrote 230118_Ds3_KICHENASSAMY Sanjay.tex\n",
"Wrote 230118_Ds3_LE VEUZIT Adrien.tex\n",
"Wrote 230118_Ds3_LETIF Ilef.tex\n",
"Wrote 230118_Ds3_MANJALI Hiba.tex\n",
"Wrote 230118_Ds3_NEIVA Hugo.tex\n",
"Wrote 230118_Ds3_OLLIET Gioia.tex\n",
"Wrote 230118_Ds3_PERNOT Gabin.tex\n",
"Wrote 230118_Ds3_RIZZI Elisa.tex\n",
"Wrote 230118_Ds3_ROSTANT Emma.tex\n",
"Wrote 230118_Ds3_SIBABA Moaad.tex\n",
"Wrote 230118_Ds3_SOUJOL Damien.tex\n",
"Wrote 230118_Ds3_THORAL Fanny.tex\n",
"Wrote 230118_Ds3_TOURRETTE Elise.tex\n",
"Wrote 230118_Ds3_TROPHARDY Eline.tex\n"
]
}
],
"source": [
"tpl = pytex.texenv.from_string(score_template)\n",
"\n",
"for e,sc in datas['eleves'].items():\n",
" reportfilename = f\"{date:%y%m%d}_{assessment}_{e}.tex\"\n",
" with open(output_path / reportfilename, \"w\") as f:\n",
" f.write(tpl.render(sc=sc, e=e,**datas))\n",
" print(f\"Wrote {reportfilename}\")\n",
" pytex.pdflatex(reportfilename)"
]
},
{
"cell_type": "markdown",
"id": "dfaf5d3d",
"metadata": {
"papermill": {
"duration": 0.215498,
"end_time": "2023-01-25T10:10:52.736803",
"exception": false,
"start_time": "2023-01-25T10:10:52.521305",
"status": "completed"
},
"tags": []
},
"source": [
"## Envoie des bilans par mail"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "76384db8",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:53.087736Z",
"iopub.status.busy": "2023-01-25T10:10:53.087342Z",
"iopub.status.idle": "2023-01-25T10:10:53.089411Z",
"shell.execute_reply": "2023-01-25T10:10:53.089005Z"
},
"papermill": {
"duration": 0.179308,
"end_time": "2023-01-25T10:10:53.089486",
"exception": false,
"start_time": "2023-01-25T10:10:52.910178",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bian du devoir Ds3\n",
"Bonsoir,\n",
"En pièce jointe, vous trouverez un document détaillant la note du devoir.\n",
"B.Bertrand\n",
"\n"
]
}
],
"source": [
"mailfrom = \"benjamin.bertrand@ac-lyon.fr\"\n",
"subject = f\"Bian du devoir {assessment}\"\n",
"message = \"\"\"Bonsoir,\n",
"En pièce jointe, vous trouverez un document détaillant la note du devoir.\n",
"B.Bertrand\n",
"\"\"\"\n",
"print(subject)\n",
"print(message)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "71eb9a2b",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:53.419106Z",
"iopub.status.busy": "2023-01-25T10:10:53.418668Z",
"iopub.status.idle": "2023-01-25T10:10:53.429798Z",
"shell.execute_reply": "2023-01-25T10:10:53.430081Z"
},
"papermill": {
"duration": 0.17759,
"end_time": "2023-01-25T10:10:53.430181",
"exception": false,
"start_time": "2023-01-25T10:10:53.252591",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"import smtplib\n",
"import os\n",
"import sys\n",
"from email.message import EmailMessage\n",
"import mimetypes\n",
"import time\n",
"import random"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "f2834e6b",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:53.760095Z",
"iopub.status.busy": "2023-01-25T10:10:53.759669Z",
"iopub.status.idle": "2023-01-25T10:10:53.761238Z",
"shell.execute_reply": "2023-01-25T10:10:53.761608Z"
},
"papermill": {
"duration": 0.172055,
"end_time": "2023-01-25T10:10:53.761719",
"exception": false,
"start_time": "2023-01-25T10:10:53.589664",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"def build_msg(subj, to_addr, from_addr, body, att):\n",
" msg = EmailMessage()\n",
" msg[\"Subject\"] = subj\n",
" msg[\"To\"] = to_addr\n",
" #msg[\"To\"] = \"lafrite26@gmail.com\"\n",
" msg[\"From\"] = from_addr\n",
" msg.set_content(body)\n",
"\n",
" if att != []:\n",
" ctype, encoding = mimetypes.guess_type(att)\n",
" if ctype is None or encoding is not None:\n",
" ctype = 'application/octet-stream'\n",
" maintype, subtype = ctype.split('/', 1)\n",
" with open(att, \"rb\") as f:\n",
" msg.add_attachment(f.read(),\n",
" maintype=maintype,\n",
" subtype=subtype,\n",
" filename=att.name)\n",
" return msg\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "30311066",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:54.092735Z",
"iopub.status.busy": "2023-01-25T10:10:54.092359Z",
"iopub.status.idle": "2023-01-25T10:10:54.093752Z",
"shell.execute_reply": "2023-01-25T10:10:54.094067Z"
},
"papermill": {
"duration": 0.171075,
"end_time": "2023-01-25T10:10:54.094155",
"exception": false,
"start_time": "2023-01-25T10:10:53.923080",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"send = 1\n",
"fake = 0"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "d31598c3",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:54.421572Z",
"iopub.status.busy": "2023-01-25T10:10:54.421174Z",
"iopub.status.idle": "2023-01-25T10:10:54.422388Z",
"shell.execute_reply": "2023-01-25T10:10:54.422694Z"
},
"papermill": {
"duration": 0.169072,
"end_time": "2023-01-25T10:10:54.422778",
"exception": false,
"start_time": "2023-01-25T10:10:54.253706",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"if send:\n",
" if fake:\n",
" server = smtplib.SMTP(\"localhost\", 8025)\n",
" server.ehlo()\n",
" else:\n",
" server = smtplib.SMTP(\"smtps.ac-lyon.fr\", 587)\n",
" server.ehlo()\n",
" server.starttls()\n",
" server.ehlo()\n",
" server.login(\"bbertrand\", os.popen(\"pass Prof/Lyon/bbertrand\").read()[:-1]) "
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "ca5690d7",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:54.756285Z",
"iopub.status.busy": "2023-01-25T10:10:54.755769Z",
"iopub.status.idle": "2023-01-25T10:10:54.757783Z",
"shell.execute_reply": "2023-01-25T10:10:54.757265Z"
},
"papermill": {
"duration": 0.175546,
"end_time": "2023-01-25T10:10:54.757888",
"exception": false,
"start_time": "2023-01-25T10:10:54.582342",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"try:\n",
" eleves_data = pd.read_csv(f\"../../{tribe}.csv\")\n",
"except FileNotFoundError:\n",
" try:\n",
" eleves_data = pd.read_csv(f\"../{tribe}.csv\")\n",
" except FileNotFoundError:\n",
" eleves_data = pd.read_csv(f\"{tribe}.csv\")\n",
"eleves_data.fillna(\"\", inplace=True)\n",
"#eleves_data"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "b676f878",
"metadata": {
"execution": {
"iopub.execute_input": "2023-01-25T10:10:55.100648Z",
"iopub.status.busy": "2023-01-25T10:10:55.099966Z",
"iopub.status.idle": "2023-01-25T10:10:55.106862Z",
"shell.execute_reply": "2023-01-25T10:10:55.106505Z"
},
"papermill": {
"duration": 0.185144,
"end_time": "2023-01-25T10:10:55.106936",
"exception": false,
"start_time": "2023-01-25T10:10:54.921792",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\tBilan envoyé à ACHOUR Ilyes\n",
"\tBilan envoyé à BELARBI Islem\n",
"\tBilan envoyé à BEN ELALLID Hajar\n",
"\tBilan envoyé à BISWAS Lina\n",
"\tBilan envoyé à BOULAABA Rayan\n",
"\tBilan envoyé à BREZUN Ines\n",
"\tBilan envoyé à BUGNON Enzo\n",
"\tBilan envoyé à CALLEWAERT Idaline\n",
"\tBilan envoyé à CATTIN Clément\n",
"\tBilan envoyé à CHRISTMANN Nathan\n",
"\tBilan envoyé à DECOSTER Clément\n",
"\tBilan envoyé à DEHIMAT Launy\n",
"\tBilan envoyé à DUPONT Jessica\n",
"\tBilan envoyé à GASAN Jéssica\n",
"\tBilan envoyé à GEORGET Raphaël\n",
"\tBilan envoyé à HABBAZ Hajar\n",
"\tBilan envoyé à JACQUEMIER Samuel\n",
"\tBilan envoyé à JACQUIER Juliette\n",
"\tBilan envoyé à JOVIC Atanase\n",
"\tBilan envoyé à KASSI Cheïma\n",
"\tBilan envoyé à KICHENASSAMY Sanjay\n",
"\tBilan envoyé à LE VEUZIT Adrien\n",
"\tBilan envoyé à LETIF Ilef\n",
"\tBilan envoyé à MANJALI Hiba\n",
"Pas de rapport pour MUTTONI Lou\n",
"\tBilan envoyé à NEIVA Hugo\n",
"\tBilan envoyé à OLLIET Gioia\n",
"\tBilan envoyé à PERNOT Gabin\n",
"\tBilan envoyé à RIZZI Elisa\n",
"\tBilan envoyé à ROSTANT Emma\n",
"\tBilan envoyé à SIBABA Moaad\n",
"\tBilan envoyé à SOUJOL Damien\n",
"\tBilan envoyé à THORAL Fanny\n",
"\tBilan envoyé à TOURRETTE Elise\n",
"\tBilan envoyé à TROPHARDY Eline\n"
]
}
],
"source": [
"for e in eleves_data.iterrows():\n",
" reportfilename = Path(f\"{date:%y%m%d}_{assessment}_{e[1]['Nom']}.pdf\")\n",
" try:\n",
" assert reportfilename.exists()\n",
" except:\n",
" print(f\"Pas de rapport pour {e[1]['Nom']}\")\n",
" else:\n",
" if e[1][\"mail\"] != \"\":\n",
" if send:\n",
" msg = build_msg(subject, e[1][\"mail\"], mailfrom, message, reportfilename)\n",
" server.send_message(msg)\n",
" print(f\"\\tBilan envoyé à {e[1]['Nom']}\")\n",
" else:\n",
" print(f\"Pas de mail pour {e[1]['Nom']}\")\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "78e914c1",
"metadata": {
"papermill": {
"duration": 0.16472,
"end_time": "2023-01-25T10:10:55.434152",
"exception": false,
"start_time": "2023-01-25T10:10:55.269432",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "24ff9733",
"metadata": {
"papermill": {
"duration": 0.168541,
"end_time": "2023-01-25T10:10:55.763611",
"exception": false,
"start_time": "2023-01-25T10:10:55.595070",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Diaporama",
"extensions": {
"jupyter_dashboards": {
"activeView": "grid_default",
"version": 1,
"views": {
"grid_default": {
"cellMargin": 10,
"defaultCellHeight": 20,
"maxColumns": 12,
"name": "grid",
"type": "grid"
},
"report_default": {
"name": "report",
"type": "report"
}
}
}
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
},
"papermill": {
"duration": 13.986796,
"end_time": "2023-01-25T10:10:56.236269",
"environment_variables": {},
"exception": null,
"input_path": "templates/tpl_evaluation.ipynb",
"output_path": "2gt1/230118_DS3/Ds3.ipynb",
"parameters": {
"assessment": "Ds3",
"csv_file": "/home/lafrite/Cours/2022-2023/Notes/2gt1/230118_DS3.csv",
"date": "18/01/23",
"tribe": "2gt1"
},
"start_time": "2023-01-25T10:10:42.249473",
"version": "1.2.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}