@lofcz/pptxtojson 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../node_modules/jszip/dist/jszip.min.js","../node_modules/jszip/dist|sync","webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/global","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../node_modules/tinycolor2/esm/tinycolor.js","../node_modules/txml/dist/txml.mjs","../src/readXmlFile.js","../src/utils.js","../src/color.js","../src/fill.js","../src/emf.js","../src/schemeColor.js","../src/border.js","../src/chart.js","../src/constants.js","../src/paragraph.js","../src/textInsets.js","../src/position.js","../node_modules/dwml-ts/dist/index.js","../src/math.js","../src/shadow.js","../src/fontStyle.js","../src/text.js","../src/shape.js","../src/font.js","../src/table.js","../src/shapePath.js","../src/animation.js","../src/diagram.js","../src/pptxtojson.js"],"sourcesContent":["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"use strict\";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"use strict\";t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});","function __rspack_empty_context(req) {\n var e = new Error(\"Cannot find module '\" + req + \"'\");\n e.code = 'MODULE_NOT_FOUND';\n throw e;\n}\n__rspack_empty_context.keys = () => ([]);\n__rspack_empty_context.resolve = __rspack_empty_context;\n__rspack_empty_context.id = 363;\nmodule.exports = __rspack_empty_context;\n","__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function getLuminance() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;else R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;else G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;else B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function (color, opts) {\n if (_typeof(color) == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n};\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction _desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\nfunction _lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n}\nfunction _darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction _spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n};\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function (color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(), c2.getLuminance()) + 0.05) / (Math.min(c1.getLuminance(), c2.getLuminance()) + 0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function (baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for (var i = 0; i < colorList.length; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// <https://www.w3.org/TR/css-color-4/#named-colors>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = {};\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\nvar matchers = function () {\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n}();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hex8.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if (match = matchers.hex4.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n return false;\n}\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n level: \"AA\",\n size: \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n","function t(t){return t.replace(/&(#x[0-9a-fA-F]+|#\\d+|amp|lt|gt|quot|apos);/g,function(t,r){if(\"amp\"===r)return\"&\";if(\"lt\"===r)return\"<\";if(\"gt\"===r)return\">\";if(\"quot\"===r)return'\"';if(\"apos\"===r)return\"'\";if(\"#\"===r[0]){var e=\"x\"===r[1]||\"X\"===r[1],a=parseInt(r.slice(e?2:1),e?16:10);if(!Number.isNaN(a)&&a>=0&&a<=1114111)try{return String.fromCodePoint(a)}catch(r){return t}}return t})}function r(t){return t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function e(t){return t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\")}function a(r,e){var a=(e=e||{}).pos||0,i=!!e.keepComments,c=!!e.keepWhitespace,f=!!e.decodeEntities,s=\"<\".charCodeAt(0),u=\">\".charCodeAt(0),h=\"-\".charCodeAt(0),l=\"/\".charCodeAt(0),d=\"!\".charCodeAt(0),g=\"?\".charCodeAt(0),A=\"'\".charCodeAt(0),p='\"'.charCodeAt(0),C=\"=\".charCodeAt(0),v=\"[\".charCodeAt(0),y=\"]\".charCodeAt(0),m=\"?\".charCodeAt(0);function b(t){for(var e=[];r[a];)if(r.charCodeAt(a)==s){if(r.charCodeAt(a+1)===l){var n=a+2;if(a=r.indexOf(\">\",a),-1==r.substring(n,a).indexOf(t)){var o=r.substring(0,a).split(\"\\n\");throw new Error(\"Unexpected close tag\\nLine: \"+(o.length-1)+\"\\nColumn: \"+(o[o.length-1].length+1)+\"\\nChar: \"+r[a])}return a+1&&(a+=1),e}if(r.charCodeAt(a+1)===d){if(r.charCodeAt(a+2)==h){const t=a;for(;-1!==a&&(r.charCodeAt(a)!==u||r.charCodeAt(a-1)!=h||r.charCodeAt(a-2)!=h||-1==a);)a=r.indexOf(\">\",a+1);-1===a&&(a=r.length),i&&e.push(r.substring(t,a+1))}else{if(r.charCodeAt(a+2)===v&&r.charCodeAt(a+8)===v&&\"cdata\"===r.substr(a+3,5).toLowerCase()){var f=r.indexOf(\"]]>\",a);-1==f?(e.push(r.substr(a+9)),a=r.length):(e.push(r.substring(a+9,f)),a=f+3);continue}{const t=a+1;a+=2;for(var g=!1;(r.charCodeAt(a)!==u||!0===g)&&r[a];)r.charCodeAt(a)===v?g=!0:!0===g&&r.charCodeAt(a)===y&&(g=!1),a++;e.push(r.substring(t,a))}}a++;continue}var A=k();e.push(A)}else{var p=N();if(c)p.length>0&&e.push(p);else{var C=p.trim();C.length>0&&e.push(C)}a++}return e}function N(){var e=a;-2===(a=r.indexOf(\"<\",a)-1)&&(a=r.length);var n=r.slice(e,a+1);return f?t(n):n}var x=\"\\r\\n\\t>/= \";function O(){for(var t=a;-1===x.indexOf(r[a])&&r[a];)a++;return r.slice(t,a)}var j,E=e.selfClosingTags||e.noChildNodes||[\"img\",\"br\",\"input\",\"meta\",\"link\",\"hr\"];function k(){a++;const e=O(),n=\"?\"===e[0],i=a,o={};let c=[];for(;r[a]&&r.charCodeAt(a)!==u&&(!n||r.charCodeAt(a)!==g||r.charCodeAt(a+1)!==u);){var s=r.charCodeAt(a);if(s>64&&s<91||s>96&&s<123){for(var h=O(),d=null;32===r.charCodeAt(a)||9===r.charCodeAt(a)||10===r.charCodeAt(a)||13===r.charCodeAt(a);)a++;if(r.charCodeAt(a)===C){for(a++;32===r.charCodeAt(a)||9===r.charCodeAt(a)||10===r.charCodeAt(a)||13===r.charCodeAt(a);)a++;var v=r.charCodeAt(a);if(v===A||v===p){if(d=w(),-1===a)return{tagName:e,attributes:o,children:c}}else if(v&&v!==u){for(var y=a;r[a]&&-1===x.indexOf(r[a]);)a++;d=r.slice(y,a),f&&(d=t(d))}}o[h]=d}else a++}if(n){var N=r.slice(i,a).trim();return N.length>0&&0===Object.keys(o).length&&(c=[N]),r.charCodeAt(a)===g&&r.charCodeAt(a+1)===u?a+=2:r.charCodeAt(a)===u&&(a+=1),{tagName:e,attributes:o,children:c}}if(r.charCodeAt(a-1)!==l&&r.charCodeAt(a-1)!==m)if(\"script\"==e){var j=a+1;a=r.indexOf(\"<\\/script>\",a),c=[r.slice(j,a)],a+=9}else if(\"style\"==e){j=a+1;a=r.indexOf(\"</style>\",a),c=[r.slice(j,a)],a+=8}else-1===E.indexOf(e)?(a++,c=b(e)):a++;else a++;return{tagName:e,attributes:o,children:c}}function w(){var e=r[a],n=a+1;a=r.indexOf(e,n);var i=r.slice(n,a);return f?t(i):i}function V(){if(!e||!e.attrName||!e.attrValue)return-1;var t=new RegExp(\"\\\\s\"+e.attrName+\"\\\\s*=['\\\"]\"+e.attrValue+\"['\\\"]\").exec(r);return t?t.index:-1}if(void 0!==e.attrValue)for(e.attrName=e.attrName||\"id\",j=[];-1!==(a=V());)-1!==(a=r.lastIndexOf(\"<\",a))&&j.push(k()),r=r.substr(a),a=0;else j=e.parseNode?k():b(\"\");if(e.filter&&Array.isArray(j)&&(j=o(j,e.filter)),e.simplify){return n(Array.isArray(j)?j:[j])}return e.setPos&&\"object\"==typeof j&&!Array.isArray(j)&&(j.pos=a),j}function n(t){if(\"string\"==typeof t)return n(a(t));if(!Array.isArray(t))throw new TypeError(\"simplify() expects parsed node array or XML string\");var r={};if(!t.length)return\"\";if(1===t.length&&\"string\"==typeof t[0])return t[0];for(var e in t.forEach(function(t){if(\"object\"==typeof t){r[t.tagName]||(r[t.tagName]=[]);var e=n(t.children);r[t.tagName].push(e),Object.keys(t.attributes).length&&\"object\"==typeof e&&!Array.isArray(e)&&(e._attributes=t.attributes)}}),r)1==r[e].length&&(r[e]=r[e][0]);return r}function i(t,r={}){var e={};return t.length?1===t.length&&\"string\"==typeof t[0]?Object.keys(r).length?{_attributes:r,value:t[0]}:t[0]:(t.forEach(function(t){if(\"object\"==typeof t){e[t.tagName]||(e[t.tagName]=[]);var r=i(t.children||[],t.attributes);e[t.tagName].push(r),Object.keys(t.attributes).length&&\"object\"==typeof r&&!Array.isArray(r)&&(r._attributes=t.attributes)}}),e):e}function o(t,r,e=0,a=\"\"){var n=[];return t.forEach(function(t,i){if(\"object\"==typeof t&&r(t,i,e,a)&&n.push(t),\"object\"==typeof t&&t.children){var c=o(t.children,r,e+1,(a?a+\".\":\"\")+i+\".\"+t.tagName);n=n.concat(c)}}),n}function c(t,a){if(!t)return\"\";var n=!!(a=a||{}).encodeEntities,i=\"\";function o(t){if(t)for(var e=0;e<t.length;e++){var a=t[e];if(\"string\"==typeof a){var o=a.trim();i+=n?r(o):o}else a&&c(a)}}function c(t){if(t){for(var r in i+=\"<\"+t.tagName,t.attributes){var a=t.attributes[r];null===a?i+=\" \"+r:n?i+=\" \"+r+'=\"'+e(a.trim())+'\"':-1===a.indexOf('\"')?i+=\" \"+r+'=\"'+a.trim()+'\"':i+=\" \"+r+\"='\"+a.trim()+\"'\"}if(\"?\"!==t.tagName[0])i+=\">\",o(t.children),i+=\"</\"+t.tagName+\">\";else{if(t.children&&t.children.length){var c=t.children.filter(function(t){return\"string\"==typeof t}).join(\" \").trim();c.length>0&&(i+=\" \"+c)}i+=\"?>\"}}}return o(Array.isArray(t)?t:[t]),i}function f(t){if(Array.isArray(t)){var r=\"\";return t.forEach(function(t){r=(r+=\" \"+f(t)).trim()}),r}return\"object\"==typeof t&&null!==t?f(t.children):\" \"+t}function s(t,r,e){var i=a(t,{attrValue:r});return e?n(i):i[0]}function u(t,r,e){const i=a(t,{attrName:\"class\",attrValue:\"[a-zA-Z0-9- ]*\"+r+\"[a-zA-Z0-9- ]*\"});return e?n(i):i}function h(t){return\"string\"==typeof t}function l(t){return\"object\"==typeof t&&null!==t&&\"tagName\"in t}export{o as filter,s as getElementById,u as getElementsByClassName,l as isElementNode,h as isTextNode,a as parse,n as simplify,i as simplifyLostLess,c as stringify,f as toContentString};\n","import * as txml from 'txml/txml'\n\nlet cust_attr_order = 0\n\n// simplifyLostLess() flattens the txml tree into keyed objects, which loses\n// the exact child ordering OMML conversion depends on. For math roots we keep\n// the original txml node (non-enumerable, so tree walkers don't see it) and\n// hand it to dwml-ts untouched.\nconst RAW_NODE_TAGS = new Set(['m:oMath', 'm:oMathPara'])\n\nfunction isWhitespaceTextNode(node) {\n return typeof node === 'string' && node.trim() === ''\n}\n\nexport function simplifyLostLess(children, parentAttributes = {}) {\n const out = {}\n if (!children.length) return out\n\n if (children.length === 1 && typeof children[0] === 'string') {\n return Object.keys(parentAttributes).length ? {\n attrs: { order: cust_attr_order++, ...parentAttributes },\n value: children[0],\n } : children[0]\n }\n for (const child of children) {\n if (isWhitespaceTextNode(child)) continue\n if (typeof child !== 'object') return\n if (child.tagName === '?xml') continue\n\n if (!out[child.tagName]) out[child.tagName] = []\n\n const kids = simplifyLostLess(child.children || [], child.attributes)\n \n if (typeof kids === 'object') {\n if (!kids.attrs) kids.attrs = { order: cust_attr_order++ }\n else kids.attrs.order = cust_attr_order++\n\n if (RAW_NODE_TAGS.has(child.tagName)) {\n Object.defineProperty(kids, '__rawNode', { value: child, enumerable: false })\n }\n }\n if (Object.keys(child.attributes || {}).length) {\n kids.attrs = { ...kids.attrs, ...child.attributes }\n }\n out[child.tagName].push(kids)\n }\n for (const child in out) {\n if (out[child].length === 1) out[child] = out[child][0]\n }\n\n return out\n}\n\nexport async function readXmlFile(zip, filename) {\n try {\n const file = zip.file(filename)\n if (!file) return null\n const data = await file.async('string')\n return simplifyLostLess(txml.parse(data, { keepWhitespace: true }))\n }\n catch {\n return null\n }\n}","// Attributes like rPr@b, xfrm@flipH and cNvSpPr@txBox are xsd:boolean, whose lexical space is\n// `1` / `0` / `true` / `false` — all four are valid. PowerPoint writes the numeric form, so testing\n// only for '1' appears to work, but other producers emit the literal form and then every bold run,\n// italic, flip and text-box flag in the file reads as false.\nexport function isOoxmlTrue(value) {\n return value === '1' || value === 'true'\n}\n\nexport function base64ArrayBuffer(arrayBuffer) {\n const encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n const bytes = new Uint8Array(arrayBuffer)\n const byteLength = bytes.byteLength\n const byteRemainder = byteLength % 3\n const mainLength = byteLength - byteRemainder\n \n let base64 = ''\n let a, b, c, d\n let chunk\n\n for (let i = 0; i < mainLength; i = i + 3) {\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]\n a = (chunk & 16515072) >> 18\n b = (chunk & 258048) >> 12\n c = (chunk & 4032) >> 6\n d = chunk & 63\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]\n }\n\n if (byteRemainder === 1) {\n chunk = bytes[mainLength]\n a = (chunk & 252) >> 2\n b = (chunk & 3) << 4\n base64 += encodings[a] + encodings[b] + '=='\n } \n else if (byteRemainder === 2) {\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]\n a = (chunk & 64512) >> 10\n b = (chunk & 1008) >> 4\n c = (chunk & 15) << 2\n base64 += encodings[a] + encodings[b] + encodings[c] + '='\n }\n\n return base64\n}\n\nexport function extractFileExtension(filename) {\n return filename.substr((~-filename.lastIndexOf('.') >>> 0) + 2)\n}\n\nexport function eachElement(node, func) {\n if (!node) return node\n\n let result = ''\n if (node.constructor === Array) {\n for (let i = 0; i < node.length; i++) {\n result += func(node[i], i)\n }\n } \n else result += func(node, 0)\n\n return result\n}\n\nexport function getTextByPathList(node, path) {\n if (!node) return node\n\n for (const key of path) {\n node = node[key]\n if (!node) return node\n }\n\n return node\n}\n\nexport function angleToDegrees(angle) {\n if (!angle) return 0\n return Math.round(angle / 60000)\n}\n\nexport function escapeHtml(text) {\n const map = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#039;',\n }\n return text.replace(/[&<>\"']/g, m => map[m])\n}\n\nexport function getMimeType(imgFileExt) {\n let mimeType = ''\n switch (imgFileExt.toLowerCase()) {\n case 'jpg':\n case 'jpeg':\n mimeType = 'image/jpeg'\n break\n case 'png':\n mimeType = 'image/png'\n break\n case 'gif':\n mimeType = 'image/gif'\n break\n case 'emf':\n mimeType = 'image/x-emf'\n break\n case 'wmf':\n mimeType = 'image/x-wmf'\n break\n case 'svg':\n mimeType = 'image/svg+xml'\n break\n case 'mp4':\n mimeType = 'video/mp4'\n break\n case 'webm':\n mimeType = 'video/webm'\n break\n case 'ogg':\n mimeType = 'video/ogg'\n break\n case 'avi':\n mimeType = 'video/avi'\n break\n case 'mpg':\n mimeType = 'video/mpg'\n break\n case 'wmv':\n mimeType = 'video/wmv'\n break\n case 'mp3':\n mimeType = 'audio/mpeg'\n break\n case 'wav':\n mimeType = 'audio/wav'\n break\n case 'tif':\n mimeType = 'image/tiff'\n break\n case 'tiff':\n mimeType = 'image/tiff'\n break\n default:\n }\n return mimeType\n}\n\nexport function isVideoLink(vdoFile) {\n const urlRegex = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,})(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/\n return urlRegex.test(vdoFile)\n}\n\nexport function toHex(n) {\n let hex = n.toString(16)\n while (hex.length < 2) {\n hex = '0' + hex\n }\n return hex\n}\n\nexport function hasValidText(htmlString) {\n if (typeof DOMParser === 'undefined') {\n const text = htmlString.replace(/<[^>]+>/g, '').replace(/\\s+/g, ' ')\n return text.trim() !== ''\n }\n\n const parser = new DOMParser()\n const doc = parser.parseFromString(htmlString, 'text/html')\n const text = doc.body.textContent || doc.body.innerText\n return text.trim() !== ''\n}\n\nexport function numberToFixed(num, fractionDigits = 4) {\n return parseFloat(num.toFixed(fractionDigits))\n}","import tinycolor from 'tinycolor2'\n\nexport function hueToRgb(t1, t2, hue) {\n if (hue < 0) hue += 6\n if (hue >= 6) hue -= 6\n if (hue < 1) return (t2 - t1) * hue + t1\n else if (hue < 3) return t2\n else if (hue < 4) return (t2 - t1) * (4 - hue) + t1\n return t1\n}\n\nexport function hslToRgb(hue, sat, light) {\n let t2\n hue = hue / 60\n if (light <= 0.5) {\n t2 = light * (sat + 1)\n } \n else {\n t2 = light + sat - (light * sat)\n }\n const t1 = light * 2 - t2\n const r = hueToRgb(t1, t2, hue + 2) * 255\n const g = hueToRgb(t1, t2, hue) * 255\n const b = hueToRgb(t1, t2, hue - 2) * 255\n return { r, g, b }\n}\n\nexport function applyShade(rgbStr, shadeValue, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n if (shadeValue >= 1) shadeValue = 1\n const cacl_l = Math.min(color.l * shadeValue, 1)\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a,\n }).toHex()\n}\n\nexport function applyTint(rgbStr, tintValue, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n if (tintValue >= 1) tintValue = 1\n const cacl_l = color.l * tintValue + (1 - tintValue)\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a\n }).toHex()\n}\n\nexport function applyLumOff(rgbStr, offset, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n const lum = offset + color.l\n if (lum >= 1) {\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: color.s,\n l: 1,\n a: color.a\n }).toHex8()\n }\n \n return tinycolor({\n h: color.h,\n s: color.s,\n l: 1,\n a: color.a\n }).toHex()\n }\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: color.s,\n l: lum,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: color.h,\n s: color.s,\n l: lum,\n a: color.a\n }).toHex()\n}\n\nexport function applyLumMod(rgbStr, multiplier, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n let cacl_l = color.l * multiplier\n if (cacl_l >= 1) cacl_l = 1\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: color.h,\n s: color.s,\n l: cacl_l,\n a: color.a\n }).toHex()\n}\n\nexport function applyHueMod(rgbStr, multiplier, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n let cacl_h = color.h * multiplier\n if (cacl_h >= 360) cacl_h = cacl_h - 360\n if (isAlpha) {\n return tinycolor({\n h: cacl_h,\n s: color.s,\n l: color.l,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: cacl_h,\n s: color.s,\n l: color.l,\n a: color.a\n }).toHex()\n}\n\nexport function applySatMod(rgbStr, multiplier, isAlpha) {\n const color = tinycolor(rgbStr).toHsl()\n let cacl_s = color.s * multiplier\n if (cacl_s >= 1) cacl_s = 1\n if (isAlpha) {\n return tinycolor({\n h: color.h,\n s: cacl_s,\n l: color.l,\n a: color.a\n }).toHex8()\n }\n\n return tinycolor({\n h: color.h,\n s: cacl_s,\n l: color.l,\n a: color.a\n }).toHex()\n}\n\nexport function getColorName2Hex(name) {\n let hex\n const colorName = ['AliceBlue', 'AntiqueWhite', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'black', 'BlanchedAlmond', 'Blue', 'BlueViolet', 'Brown', 'BurlyWood', 'CadetBlue', 'Chartreuse', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkBlue', 'DarkCyan', 'DarkGoldenRod', 'DarkGray', 'DarkGrey', 'DarkGreen', 'DarkKhaki', 'DarkMagenta', 'DarkOliveGreen', 'DarkOrange', 'DarkOrchid', 'DarkRed', 'DarkSalmon', 'DarkSeaGreen', 'DarkSlateBlue', 'DarkSlateGray', 'DarkSlateGrey', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DimGray', 'DimGrey', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Gray', 'Grey', 'Green', 'GreenYellow', 'HoneyDew', 'HotPink', 'IndianRed', 'Indigo', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'Maroon', 'MediumAquaMarine', 'MediumBlue', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MidnightBlue', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'Navy', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'RebeccaPurple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Salmon', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'Tan', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen']\n const colorHex = ['f0f8ff', 'faebd7', '00ffff', '7fffd4', 'f0ffff', 'f5f5dc', 'ffe4c4', '000000', 'ffebcd', '0000ff', '8a2be2', 'a52a2a', 'deb887', '5f9ea0', '7fff00', 'd2691e', 'ff7f50', '6495ed', 'fff8dc', 'dc143c', '00ffff', '00008b', '008b8b', 'b8860b', 'a9a9a9', 'a9a9a9', '006400', 'bdb76b', '8b008b', '556b2f', 'ff8c00', '9932cc', '8b0000', 'e9967a', '8fbc8f', '483d8b', '2f4f4f', '2f4f4f', '00ced1', '9400d3', 'ff1493', '00bfff', '696969', '696969', '1e90ff', 'b22222', 'fffaf0', '228b22', 'ff00ff', 'dcdcdc', 'f8f8ff', 'ffd700', 'daa520', '808080', '808080', '008000', 'adff2f', 'f0fff0', 'ff69b4', 'cd5c5c', '4b0082', 'fffff0', 'f0e68c', 'e6e6fa', 'fff0f5', '7cfc00', 'fffacd', 'add8e6', 'f08080', 'e0ffff', 'fafad2', 'd3d3d3', 'd3d3d3', '90ee90', 'ffb6c1', 'ffa07a', '20b2aa', '87cefa', '778899', '778899', 'b0c4de', 'ffffe0', '00ff00', '32cd32', 'faf0e6', 'ff00ff', '800000', '66cdaa', '0000cd', 'ba55d3', '9370db', '3cb371', '7b68ee', '00fa9a', '48d1cc', 'c71585', '191970', 'f5fffa', 'ffe4e1', 'ffe4b5', 'ffdead', '000080', 'fdf5e6', '808000', '6b8e23', 'ffa500', 'ff4500', 'da70d6', 'eee8aa', '98fb98', 'afeeee', 'db7093', 'ffefd5', 'ffdab9', 'cd853f', 'ffc0cb', 'dda0dd', 'b0e0e6', '800080', '663399', 'ff0000', 'bc8f8f', '4169e1', '8b4513', 'fa8072', 'f4a460', '2e8b57', 'fff5ee', 'a0522d', 'c0c0c0', '87ceeb', '6a5acd', '708090', '708090', 'fffafa', '00ff7f', '4682b4', 'd2b48c', '008080', 'd8bfd8', 'ff6347', '40e0d0', 'ee82ee', 'f5deb3', 'ffffff', 'f5f5f5', 'ffff00', '9acd32']\n const nameLower = name.toLowerCase()\n const findIndx = colorName.findIndex(n => n.toLowerCase() === nameLower)\n if (findIndx !== -1) hex = colorHex[findIndx]\n return hex\n}","import tinycolor from 'tinycolor2'\nimport { getSchemeColorFromTheme } from './schemeColor'\nimport { emfToPngDataUrl } from './emf'\nimport {\n applyShade,\n applyTint,\n applyLumOff,\n applyLumMod,\n applyHueMod,\n applySatMod,\n hslToRgb,\n getColorName2Hex,\n} from './color'\n\nimport {\n base64ArrayBuffer,\n getTextByPathList,\n angleToDegrees,\n escapeHtml,\n getMimeType,\n toHex,\n} from './utils'\n\nexport function getFillType(node) {\n let fillType = ''\n if (node['a:noFill']) fillType = 'NO_FILL'\n if (node['a:solidFill']) fillType = 'SOLID_FILL'\n if (node['a:gradFill']) fillType = 'GRADIENT_FILL'\n if (node['a:pattFill']) fillType = 'PATTERN_FILL'\n if (node['a:blipFill']) fillType = 'PIC_FILL'\n if (node['a:grpFill']) fillType = 'GROUP_FILL'\n\n return fillType\n}\n\nfunction createImageData(ref = '') {\n return {\n ref,\n base64: '',\n blob: '',\n align: {\n t: 0,\n b: 0,\n l: 0,\n r: 0,\n },\n alignType: 'stretch',\n }\n}\n\nfunction createMediaData(ref = '') {\n return {\n ref,\n blob: '',\n }\n}\n\nfunction getMediaCache(warpObj, cacheKey) {\n const cache = warpObj[cacheKey] || {}\n warpObj[cacheKey] = cache\n return cache\n}\n\nasync function loadMedia(filePath, warpObj, cacheKey, mode = 'base64') {\n if (!filePath || (mode !== 'base64' && mode !== 'blob')) return ''\n\n const normalizedPath = escapeHtml(filePath)\n const cache = getMediaCache(warpObj, cacheKey)\n const cacheItem = cache[normalizedPath] || { base64: '', blob: '' }\n cache[normalizedPath] = cacheItem\n\n if (cacheItem[mode]) return cacheItem[mode]\n\n const fileExt = normalizedPath.split('.').pop().toLowerCase()\n if (fileExt === 'xml') return ''\n\n const zipFile = warpObj['zip'].file(normalizedPath)\n if (!zipFile) return ''\n const arrayBuffer = await zipFile.async('arraybuffer')\n const mimeType = getMimeType(fileExt)\n\n // Browsers cannot render EMF (typically OLE object previews); extract the\n // embedded DIB bitmap and serve it as PNG instead of a broken image.\n if (fileExt === 'emf') {\n const pngDataUrl = emfToPngDataUrl(new Uint8Array(arrayBuffer))\n if (pngDataUrl) {\n if (mode === 'base64') {\n cacheItem.base64 = pngDataUrl\n }\n else {\n const pngBytes = Uint8Array.from(atob(pngDataUrl.split(',')[1]), c => c.charCodeAt(0))\n cacheItem.blob = URL.createObjectURL(new Blob([pngBytes], { type: 'image/png' }))\n }\n return cacheItem[mode]\n }\n }\n\n if (mode === 'base64') {\n cacheItem.base64 = `data:${mimeType};base64,${base64ArrayBuffer(arrayBuffer)}`\n }\n else if (mode === 'blob') {\n cacheItem.blob = URL.createObjectURL(new Blob([arrayBuffer], mimeType ? {\n type: mimeType\n } : undefined))\n }\n\n return cacheItem[mode]\n}\n\nexport async function loadImage(imgPath, warpObj, mode = 'base64') {\n return await loadMedia(imgPath, warpObj, 'loadedImages', mode)\n}\n\nexport async function loadVideo(videoPath, warpObj, mode = 'blob') {\n if (mode !== 'blob') return ''\n return await loadMedia(videoPath, warpObj, 'loadedVideos', 'blob')\n}\n\nexport async function loadAudio(audioPath, warpObj, mode = 'blob') {\n if (mode !== 'blob') return ''\n return await loadMedia(audioPath, warpObj, 'loadedAudios', 'blob')\n}\n\nfunction getImageMode(warpObj) {\n const imageMode = getTextByPathList(warpObj, ['options', 'imageMode'])\n if (imageMode === 'blob' || imageMode === 'both' || imageMode === 'none') return imageMode\n return 'base64'\n}\n\nfunction getVideoMode(warpObj) {\n const videoMode = getTextByPathList(warpObj, ['options', 'videoMode'])\n if (videoMode === 'blob') return 'blob'\n return 'none'\n}\n\nfunction getAudioMode(warpObj) {\n const audioMode = getTextByPathList(warpObj, ['options', 'audioMode'])\n if (audioMode === 'blob') return 'blob'\n return 'none'\n}\n\nexport async function getImageData(imgPath, warpObj) {\n const imageData = createImageData(imgPath || '')\n if (!imgPath) return imageData\n\n const imageMode = getImageMode(warpObj)\n if (imageMode === 'base64' || imageMode === 'both') {\n imageData.base64 = await loadImage(imgPath, warpObj, 'base64')\n }\n if (imageMode === 'blob' || imageMode === 'both') {\n imageData.blob = await loadImage(imgPath, warpObj, 'blob')\n }\n\n return imageData\n}\n\nexport async function getVideoData(videoPath, warpObj) {\n const videoData = createMediaData(videoPath || '')\n if (!videoPath) return videoData\n\n if (getVideoMode(warpObj) === 'blob') {\n videoData.blob = await loadVideo(videoPath, warpObj, 'blob')\n }\n\n return videoData\n}\n\nexport async function getAudioData(audioPath, warpObj) {\n const audioData = createMediaData(audioPath || '')\n if (!audioPath) return audioData\n\n if (getAudioMode(warpObj) === 'blob') {\n audioData.blob = await loadAudio(audioPath, warpObj, 'blob')\n }\n\n return audioData\n}\n\nexport async function getPicFill(type, node, warpObj) {\n if (!node) return createImageData()\n\n const rId = getTextByPathList(node, ['a:blip', 'attrs', 'r:embed'])\n let imgPath\n if (type === 'slideBg' || type === 'slide') {\n imgPath = getTextByPathList(warpObj, ['slideResObj', rId, 'target'])\n }\n else if (type === 'slideLayoutBg') {\n imgPath = getTextByPathList(warpObj, ['layoutResObj', rId, 'target'])\n }\n else if (type === 'slideMasterBg') {\n imgPath = getTextByPathList(warpObj, ['masterResObj', rId, 'target'])\n }\n else if (type === 'themeBg') {\n imgPath = getTextByPathList(warpObj, ['themeResObj', rId, 'target'])\n }\n else if (type === 'diagramBg') {\n imgPath = getTextByPathList(warpObj, ['diagramResObj', rId, 'target'])\n }\n if (!imgPath) return createImageData()\n\n const imageData = await getImageData(imgPath, warpObj)\n\n const align = { t: 0, b: 0, l: 0, r: 0 }\n let alignType = 'stretch'\n\n if (node['a:stretch']) {\n alignType = 'stretch'\n const fillRectAttrs = getTextByPathList(node, ['a:stretch', 'a:fillRect', 'attrs'])\n if (fillRectAttrs) {\n if (fillRectAttrs.t) align.t = parseInt(fillRectAttrs.t) / 1000\n if (fillRectAttrs.b) align.b = parseInt(fillRectAttrs.b) / 1000\n if (fillRectAttrs.l) align.l = parseInt(fillRectAttrs.l) / 1000\n if (fillRectAttrs.r) align.r = parseInt(fillRectAttrs.r) / 1000\n }\n }\n else if (node['a:tile']) {\n alignType = 'tile'\n const tileAttrs = getTextByPathList(node, ['a:tile', 'attrs'])\n if (tileAttrs) {\n if (tileAttrs.t) align.t = parseInt(tileAttrs.t) / 1000\n if (tileAttrs.b) align.b = parseInt(tileAttrs.b) / 1000\n if (tileAttrs.l) align.l = parseInt(tileAttrs.l) / 1000\n if (tileAttrs.r) align.r = parseInt(tileAttrs.r) / 1000\n }\n }\n else if (node['a:scale']) {\n alignType = 'scale'\n }\n\n imageData.align = align\n imageData.alignType = alignType\n\n return imageData\n}\n\nexport function getPicFillOpacity(node) {\n const aBlipNode = node['a:blip']\n\n const aphaModFixNode = getTextByPathList(aBlipNode, ['a:alphaModFix', 'attrs'])\n let opacity = 1\n if (aphaModFixNode && aphaModFixNode['amt'] && aphaModFixNode['amt'] !== '') {\n opacity = parseInt(aphaModFixNode['amt']) / 100000\n }\n\n return opacity\n}\n\nexport function getPicFilters(node) {\n if (!node) return null\n\n const aBlipNode = node['a:blip']\n if (!aBlipNode) return null\n\n const filters = {}\n\n // 从a:extLst中获取滤镜效果(Microsoft Office 2010+扩展)\n const extLstNode = aBlipNode['a:extLst']\n if (extLstNode && extLstNode['a:ext']) {\n const extNodes = Array.isArray(extLstNode['a:ext']) ? extLstNode['a:ext'] : [extLstNode['a:ext']]\n\n for (const extNode of extNodes) {\n if (!extNode['a14:imgProps'] || !extNode['a14:imgProps']['a14:imgLayer']) continue\n\n const imgLayerNode = extNode['a14:imgProps']['a14:imgLayer']\n const imgEffects = imgLayerNode['a14:imgEffect']\n\n if (!imgEffects) continue\n\n const effectArray = Array.isArray(imgEffects) ? imgEffects : [imgEffects]\n\n for (const effect of effectArray) {\n // 饱和度\n if (effect['a14:saturation']) {\n const satAttr = getTextByPathList(effect, ['a14:saturation', 'attrs', 'sat'])\n if (satAttr) {\n filters.saturation = parseInt(satAttr) / 100000\n }\n }\n\n // 亮度、对比度\n if (effect['a14:brightnessContrast']) {\n const brightAttr = getTextByPathList(effect, ['a14:brightnessContrast', 'attrs', 'bright'])\n const contrastAttr = getTextByPathList(effect, ['a14:brightnessContrast', 'attrs', 'contrast'])\n\n if (brightAttr) {\n filters.brightness = parseInt(brightAttr) / 100000\n }\n if (contrastAttr) {\n filters.contrast = parseInt(contrastAttr) / 100000\n }\n }\n\n // 锐化/柔化\n if (effect['a14:sharpenSoften']) {\n const amountAttr = getTextByPathList(effect, ['a14:sharpenSoften', 'attrs', 'amount'])\n if (amountAttr) {\n const amount = parseInt(amountAttr) / 100000\n if (amount > 0) {\n filters.sharpen = amount\n }\n else {\n filters.soften = Math.abs(amount)\n }\n }\n }\n\n // 色温\n if (effect['a14:colorTemperature']) {\n const tempAttr = getTextByPathList(effect, ['a14:colorTemperature', 'attrs', 'colorTemp'])\n if (tempAttr) {\n filters.colorTemperature = parseInt(tempAttr)\n }\n }\n }\n }\n }\n\n return Object.keys(filters).length > 0 ? filters : null\n}\n\nexport async function getBgPicFill(bgPr, sorce, warpObj) {\n const picFill = await getPicFill(sorce, bgPr['a:blipFill'], warpObj)\n const aBlipNode = bgPr['a:blipFill']['a:blip']\n\n const aphaModFixNode = getTextByPathList(aBlipNode, ['a:alphaModFix', 'attrs'])\n let opacity = 1\n if (aphaModFixNode && aphaModFixNode['amt'] && aphaModFixNode['amt'] !== '') {\n opacity = parseInt(aphaModFixNode['amt']) / 100000\n }\n\n return {\n ref: picFill.ref,\n base64: picFill.base64,\n blob: picFill.blob,\n opacity,\n }\n}\n\nexport function getGradientFill(node, warpObj) {\n if (!node['a:gsLst']) return null\n const gsLst = node['a:gsLst']['a:gs']\n const colors = []\n for (let i = 0; i < gsLst.length; i++) {\n const lo_color = getSolidFill(gsLst[i], undefined, undefined, warpObj)\n const pos = getTextByPathList(gsLst[i], ['attrs', 'pos'])\n\n colors[i] = {\n pos: pos ? (pos / 1000 + '%') : '',\n color: lo_color,\n }\n }\n const lin = node['a:lin']\n let rot = 0\n let pathType = 'line'\n if (lin) rot = angleToDegrees(lin['attrs']['ang'])\n else {\n const path = node['a:path']\n if (path && path['attrs'] && path['attrs']['path']) pathType = path['attrs']['path']\n }\n return {\n rot,\n path: pathType,\n colors: colors.sort((a, b) => parseInt(a.pos) - parseInt(b.pos)),\n }\n}\n\nexport function getPatternFill(node, warpObj) {\n if (!node) return null\n\n const pattFill = node['a:pattFill']\n if (!pattFill) return null\n\n const type = getTextByPathList(pattFill, ['attrs', 'prst'])\n\n const fgColorNode = pattFill['a:fgClr']\n const bgColorNode = pattFill['a:bgClr']\n\n let foregroundColor = '#000000'\n let backgroundColor = '#FFFFFF'\n\n if (fgColorNode) {\n foregroundColor = getSolidFill(fgColorNode, undefined, undefined, warpObj)\n }\n\n if (bgColorNode) {\n backgroundColor = getSolidFill(bgColorNode, undefined, undefined, warpObj)\n }\n\n return {\n type,\n foregroundColor,\n backgroundColor,\n }\n}\n\nexport function getBgGradientFill(bgPr, phClr, slideMasterContent, warpObj) {\n if (bgPr) {\n const grdFill = bgPr['a:gradFill']\n const gsLst = grdFill['a:gsLst']['a:gs']\n const colors = []\n \n for (let i = 0; i < gsLst.length; i++) {\n const lo_color = getSolidFill(gsLst[i], slideMasterContent['p:sldMaster']['p:clrMap']['attrs'], phClr, warpObj)\n const pos = getTextByPathList(gsLst[i], ['attrs', 'pos'])\n\n colors[i] = {\n pos: pos ? (pos / 1000 + '%') : '',\n color: lo_color,\n }\n }\n const lin = grdFill['a:lin']\n let rot = 0\n let pathType = 'line'\n if (lin) rot = angleToDegrees(lin['attrs']['ang']) + 0\n else {\n const path = grdFill['a:path']\n if (path && path['attrs'] && path['attrs']['path']) pathType = path['attrs']['path'] \n }\n return {\n rot,\n path: pathType,\n colors: colors.sort((a, b) => parseInt(a.pos) - parseInt(b.pos)),\n }\n }\n else if (phClr) {\n return phClr.indexOf('#') === -1 ? `#${phClr}` : phClr\n }\n return null\n}\n\nexport async function getSlideBackgroundFill(warpObj) {\n const slideContent = warpObj['slideContent']\n const slideLayoutContent = warpObj['slideLayoutContent']\n const slideMasterContent = warpObj['slideMasterContent']\n \n let bgPr = getTextByPathList(slideContent, ['p:sld', 'p:cSld', 'p:bg', 'p:bgPr'])\n let bgRef = getTextByPathList(slideContent, ['p:sld', 'p:cSld', 'p:bg', 'p:bgRef'])\n\n let background = '#fff'\n let backgroundType = 'color'\n\n if (bgPr) {\n const bgFillTyp = getFillType(bgPr)\n\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgPr['a:solidFill']\n let clrMapOvr\n const sldClrMapOvr = getTextByPathList(slideContent, ['p:sld', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) clrMapOvr = sldClrMapOvr\n else {\n const sldClrMapOvr = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) clrMapOvr = sldClrMapOvr\n else clrMapOvr = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:clrMap', 'attrs'])\n }\n const sldBgClr = getSolidFill(sldFill, clrMapOvr, undefined, warpObj)\n background = sldBgClr\n }\n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n else if (bgFillTyp === 'PIC_FILL') {\n background = await getBgPicFill(bgPr, 'slideBg', warpObj)\n backgroundType = 'image'\n }\n else if (bgFillTyp === 'PATTERN_FILL') {\n const patternFill = getPatternFill(bgPr, warpObj)\n if (patternFill) {\n background = patternFill\n backgroundType = 'pattern'\n }\n }\n }\n else if (bgRef) {\n let clrMapOvr\n const sldClrMapOvr = getTextByPathList(slideContent, ['p:sld', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) clrMapOvr = sldClrMapOvr\n else {\n const sldClrMapOvr = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) clrMapOvr = sldClrMapOvr\n else clrMapOvr = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:clrMap', 'attrs'])\n }\n const phClr = getSolidFill(bgRef, clrMapOvr, undefined, warpObj)\n const idx = Number(bgRef['attrs']['idx'])\n\n if (idx > 1000) {\n const trueIdx = idx - 1000\n const bgFillLst = warpObj['themeContent']['a:theme']['a:themeElements']['a:fmtScheme']['a:bgFillStyleLst']\n const sortblAry = []\n Object.keys(bgFillLst).forEach(key => {\n const bgFillLstTyp = bgFillLst[key]\n if (key !== 'attrs') {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {}\n obj[key] = bgFillLstTyp[i]\n if (bgFillLstTyp[i]['attrs']) {\n obj['idex'] = bgFillLstTyp[i]['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp[i]['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n } \n else {\n const obj = {}\n obj[key] = bgFillLstTyp\n if (bgFillLstTyp['attrs']) {\n obj['idex'] = bgFillLstTyp['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n }\n })\n const sortByOrder = sortblAry.slice(0)\n sortByOrder.sort((a, b) => a.idex - b.idex)\n const bgFillLstIdx = sortByOrder[trueIdx - 1]\n const bgFillTyp = getFillType(bgFillLstIdx)\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgFillLstIdx['a:solidFill']\n const sldBgClr = getSolidFill(sldFill, clrMapOvr, phClr, warpObj)\n background = sldBgClr\n } \n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n }\n }\n else {\n bgPr = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:cSld', 'p:bg', 'p:bgPr'])\n bgRef = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:cSld', 'p:bg', 'p:bgRef'])\n\n let clrMapOvr\n const sldClrMapOvr = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) clrMapOvr = sldClrMapOvr\n else clrMapOvr = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:clrMap', 'attrs'])\n\n if (bgPr) {\n const bgFillTyp = getFillType(bgPr)\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgPr['a:solidFill']\n const sldBgClr = getSolidFill(sldFill, clrMapOvr, undefined, warpObj)\n background = sldBgClr\n }\n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n else if (bgFillTyp === 'PIC_FILL') {\n background = await getBgPicFill(bgPr, 'slideLayoutBg', warpObj)\n backgroundType = 'image'\n }\n else if (bgFillTyp === 'PATTERN_FILL') {\n const patternFill = getPatternFill(bgPr, warpObj)\n if (patternFill) {\n background = patternFill\n backgroundType = 'pattern'\n }\n }\n }\n else if (bgRef) {\n const phClr = getSolidFill(bgRef, clrMapOvr, undefined, warpObj)\n const idx = Number(bgRef['attrs']['idx'])\n \n if (idx > 1000) {\n const trueIdx = idx - 1000\n const bgFillLst = warpObj['themeContent']['a:theme']['a:themeElements']['a:fmtScheme']['a:bgFillStyleLst']\n const sortblAry = []\n Object.keys(bgFillLst).forEach(key => {\n const bgFillLstTyp = bgFillLst[key]\n if (key !== 'attrs') {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {}\n obj[key] = bgFillLstTyp[i]\n if (bgFillLstTyp[i]['attrs']) {\n obj['idex'] = bgFillLstTyp[i]['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp[i]['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n } \n else {\n const obj = {}\n obj[key] = bgFillLstTyp\n if (bgFillLstTyp['attrs']) {\n obj['idex'] = bgFillLstTyp['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n }\n })\n const sortByOrder = sortblAry.slice(0)\n sortByOrder.sort((a, b) => a.idex - b.idex)\n const bgFillLstIdx = sortByOrder[trueIdx - 1]\n const bgFillTyp = getFillType(bgFillLstIdx)\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgFillLstIdx['a:solidFill']\n const sldBgClr = getSolidFill(sldFill, clrMapOvr, phClr, warpObj)\n background = sldBgClr\n }\n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n else if (bgFillTyp === 'PIC_FILL') {\n background = await getBgPicFill(bgFillLstIdx, 'themeBg', warpObj)\n backgroundType = 'image'\n }\n else if (bgFillTyp === 'PATTERN_FILL') {\n const patternFill = getPatternFill(bgFillLstIdx, warpObj)\n if (patternFill) {\n background = patternFill\n backgroundType = 'pattern'\n }\n }\n }\n }\n else {\n bgPr = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:cSld', 'p:bg', 'p:bgPr'])\n bgRef = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:cSld', 'p:bg', 'p:bgRef'])\n\n const clrMap = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:clrMap', 'attrs'])\n if (bgPr) {\n const bgFillTyp = getFillType(bgPr)\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgPr['a:solidFill']\n const sldBgClr = getSolidFill(sldFill, clrMap, undefined, warpObj)\n background = sldBgClr\n }\n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgPr, undefined, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n else if (bgFillTyp === 'PIC_FILL') {\n background = await getBgPicFill(bgPr, 'slideMasterBg', warpObj)\n backgroundType = 'image'\n }\n else if (bgFillTyp === 'PATTERN_FILL') {\n const patternFill = getPatternFill(bgPr, warpObj)\n if (patternFill) {\n background = patternFill\n backgroundType = 'pattern'\n }\n }\n }\n else if (bgRef) {\n const phClr = getSolidFill(bgRef, clrMap, undefined, warpObj)\n const idx = Number(bgRef['attrs']['idx'])\n \n if (idx > 1000) {\n const trueIdx = idx - 1000\n const bgFillLst = warpObj['themeContent']['a:theme']['a:themeElements']['a:fmtScheme']['a:bgFillStyleLst']\n const sortblAry = []\n Object.keys(bgFillLst).forEach(key => {\n const bgFillLstTyp = bgFillLst[key]\n if (key !== 'attrs') {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {}\n obj[key] = bgFillLstTyp[i]\n if (bgFillLstTyp[i]['attrs']) {\n obj['idex'] = bgFillLstTyp[i]['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp[i]['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n } \n else {\n const obj = {}\n obj[key] = bgFillLstTyp\n if (bgFillLstTyp['attrs']) {\n obj['idex'] = bgFillLstTyp['attrs']['order']\n obj['attrs'] = {\n 'order': bgFillLstTyp['attrs']['order']\n }\n }\n sortblAry.push(obj)\n }\n }\n })\n const sortByOrder = sortblAry.slice(0)\n sortByOrder.sort((a, b) => a.idex - b.idex)\n const bgFillLstIdx = sortByOrder[trueIdx - 1]\n const bgFillTyp = getFillType(bgFillLstIdx)\n if (bgFillTyp === 'SOLID_FILL') {\n const sldFill = bgFillLstIdx['a:solidFill']\n const sldBgClr = getSolidFill(sldFill, clrMapOvr, phClr, warpObj)\n background = sldBgClr\n }\n else if (bgFillTyp === 'GRADIENT_FILL') {\n const gradientFill = getBgGradientFill(bgFillLstIdx, phClr, slideMasterContent, warpObj)\n if (typeof gradientFill === 'string') {\n background = gradientFill\n }\n else if (gradientFill) {\n background = gradientFill\n backgroundType = 'gradient'\n }\n }\n else if (bgFillTyp === 'PIC_FILL') {\n background = await getBgPicFill(bgFillLstIdx, 'themeBg', warpObj)\n backgroundType = 'image'\n }\n else if (bgFillTyp === 'PATTERN_FILL') {\n const patternFill = getPatternFill(bgFillLstIdx, warpObj)\n if (patternFill) {\n background = patternFill\n backgroundType = 'pattern'\n }\n }\n }\n }\n }\n }\n return {\n type: backgroundType,\n value: background,\n }\n}\n\nfunction getShapeFillCandidates(node, source, slideLayoutSpNode, slideMasterSpNode) {\n const candidates = [{ node, source }]\n\n if (slideLayoutSpNode) {\n candidates.push({\n node: slideLayoutSpNode,\n source: 'slideLayoutBg',\n })\n }\n if (slideMasterSpNode) {\n candidates.push({\n node: slideMasterSpNode,\n source: 'slideMasterBg',\n })\n }\n\n return candidates\n}\n\nasync function resolveShapeFillFromNode(node, warpObj, source, groupHierarchy) {\n if (!node) return { state: 'missing' }\n\n const spPr = getTextByPathList(node, ['p:spPr'])\n const fillType = spPr ? getFillType(spPr) : ''\n let type = 'color'\n let fillValue = ''\n if (fillType === 'NO_FILL') {\n return { state: 'none' }\n }\n else if (fillType === 'SOLID_FILL') {\n const shpFill = spPr['a:solidFill']\n fillValue = getSolidFill(shpFill, undefined, undefined, warpObj)\n type = 'color'\n }\n else if (fillType === 'GRADIENT_FILL') {\n const shpFill = spPr['a:gradFill']\n fillValue = getGradientFill(shpFill, warpObj)\n type = 'gradient'\n }\n else if (fillType === 'PIC_FILL') {\n const shpFill = spPr['a:blipFill']\n const picFill = await getPicFill(source, shpFill, warpObj)\n const opacity = getPicFillOpacity(shpFill)\n fillValue = {\n ref: picFill.ref,\n base64: picFill.base64,\n blob: picFill.blob,\n opacity,\n align: picFill.align,\n alignType: picFill.alignType,\n }\n type = 'image'\n }\n else if (fillType === 'PATTERN_FILL') {\n const shpFill = spPr['a:pattFill']\n fillValue = getPatternFill({ 'a:pattFill': shpFill }, warpObj)\n type = 'pattern'\n }\n else if (fillType === 'GROUP_FILL') {\n const groupFill = await findFillInGroupHierarchy(groupHierarchy, warpObj, source)\n return groupFill ? { state: 'found', fill: groupFill } : { state: 'none' }\n }\n if (!fillValue) {\n // Shapes with useBgFill=\"1\" take the slide background fill directly.\n const useBgFill = getTextByPathList(node, ['attrs', 'useBgFill'])\n if (useBgFill === '1' || useBgFill === 'true') {\n const bgFill = await getSlideBackgroundFill(warpObj)\n return bgFill ? { state: 'found', fill: bgFill } : { state: 'none' }\n }\n\n const fillRefNode = getTextByPathList(node, ['p:style', 'a:fillRef'])\n // fillRef@idx indexes the theme's fillStyleLst, in which 0 is defined as \"no fill\". The colour\n // the reference carries is only the one that would have applied had an entry been named, so\n // reading it regardless paints every unfilled shape in the theme's accent colour. getBorder\n // already resolves the sibling lnRef through its own idx; this is the same rule for the fill.\n if (fillRefNode && Number(getTextByPathList(fillRefNode, ['attrs', 'idx'])) === 0) {\n return { state: 'none' }\n }\n fillValue = getSolidFill(fillRefNode, undefined, undefined, warpObj)\n type = 'color'\n }\n if (!fillValue) {\n return { state: 'missing' }\n }\n\n return {\n state: 'found',\n fill: {\n type,\n value: fillValue,\n }\n }\n}\n\nexport async function getShapeFill(node, warpObj, source, options = {}) {\n const {\n groupHierarchy = [],\n slideLayoutSpNode,\n slideMasterSpNode,\n } = options\n\n const candidates = getShapeFillCandidates(node, source, slideLayoutSpNode, slideMasterSpNode)\n for (const candidate of candidates) {\n const result = await resolveShapeFillFromNode(candidate.node, warpObj, candidate.source, groupHierarchy)\n\n if (result.state === 'none') return null\n if (result.state === 'found') return result.fill\n }\n\n return null\n}\n\nasync function findFillInGroupHierarchy(groupHierarchy, warpObj, source) {\n for (const groupNode of groupHierarchy) {\n if (!groupNode || !groupNode['p:grpSpPr']) continue\n\n const grpSpPr = groupNode['p:grpSpPr']\n const fillType = getFillType(grpSpPr)\n\n if (fillType === 'SOLID_FILL') {\n const shpFill = grpSpPr['a:solidFill']\n const fillValue = getSolidFill(shpFill, undefined, undefined, warpObj)\n if (fillValue) {\n return {\n type: 'color',\n value: fillValue,\n }\n }\n }\n else if (fillType === 'GRADIENT_FILL') {\n const shpFill = grpSpPr['a:gradFill']\n const fillValue = getGradientFill(shpFill, warpObj)\n if (fillValue) {\n return {\n type: 'gradient',\n value: fillValue,\n }\n }\n }\n else if (fillType === 'PIC_FILL') {\n const shpFill = grpSpPr['a:blipFill']\n const picFill = await getPicFill(source, shpFill, warpObj)\n const opacity = getPicFillOpacity(shpFill)\n if (picFill.ref || picFill.base64 || picFill.blob) {\n return {\n type: 'image',\n value: {\n ref: picFill.ref,\n base64: picFill.base64,\n blob: picFill.blob,\n opacity,\n align: picFill.align,\n alignType: picFill.alignType,\n },\n }\n }\n }\n else if (fillType === 'PATTERN_FILL') {\n const shpFill = grpSpPr['a:pattFill']\n const fillValue = getPatternFill({ 'a:pattFill': shpFill }, warpObj)\n if (fillValue) {\n return {\n type: 'pattern',\n value: fillValue,\n }\n }\n }\n else if (fillType === 'GROUP_FILL') {\n continue\n }\n else if (fillType === 'NO_FILL') {\n return null\n }\n }\n\n return { type: 'slide-background' }\n}\n\nexport function getSolidFill(solidFill, clrMap, phClr, warpObj) {\n if (!solidFill) return ''\n\n let color = ''\n let clrNode\n\n if (solidFill['a:srgbClr']) {\n clrNode = solidFill['a:srgbClr']\n color = getTextByPathList(clrNode, ['attrs', 'val'])\n } \n else if (solidFill['a:schemeClr']) {\n clrNode = solidFill['a:schemeClr']\n const schemeClr = 'a:' + getTextByPathList(clrNode, ['attrs', 'val'])\n color = getSchemeColorFromTheme(schemeClr, warpObj, clrMap, phClr) || ''\n }\n else if (solidFill['a:scrgbClr']) {\n clrNode = solidFill['a:scrgbClr']\n const defBultColorVals = clrNode['attrs']\n const red = (defBultColorVals['r'].indexOf('%') !== -1) ? defBultColorVals['r'].split('%').shift() : defBultColorVals['r']\n const green = (defBultColorVals['g'].indexOf('%') !== -1) ? defBultColorVals['g'].split('%').shift() : defBultColorVals['g']\n const blue = (defBultColorVals['b'].indexOf('%') !== -1) ? defBultColorVals['b'].split('%').shift() : defBultColorVals['b']\n color = toHex(255 * (Number(red) / 100)) + toHex(255 * (Number(green) / 100)) + toHex(255 * (Number(blue) / 100))\n } \n else if (solidFill['a:prstClr']) {\n clrNode = solidFill['a:prstClr']\n const prstClr = getTextByPathList(clrNode, ['attrs', 'val'])\n color = getColorName2Hex(prstClr)\n } \n else if (solidFill['a:hslClr']) {\n clrNode = solidFill['a:hslClr']\n const defBultColorVals = clrNode['attrs']\n const hue = Number(defBultColorVals['hue']) / 100000\n const sat = Number((defBultColorVals['sat'].indexOf('%') !== -1) ? defBultColorVals['sat'].split('%').shift() : defBultColorVals['sat']) / 100\n const lum = Number((defBultColorVals['lum'].indexOf('%') !== -1) ? defBultColorVals['lum'].split('%').shift() : defBultColorVals['lum']) / 100\n const hsl2rgb = hslToRgb(hue, sat, lum)\n color = toHex(hsl2rgb.r) + toHex(hsl2rgb.g) + toHex(hsl2rgb.b)\n } \n else if (solidFill['a:sysClr']) {\n clrNode = solidFill['a:sysClr']\n const sysClr = getTextByPathList(clrNode, ['attrs', 'lastClr'])\n if (sysClr) color = sysClr\n }\n\n let isAlpha = false\n const alpha = parseInt(getTextByPathList(clrNode, ['a:alpha', 'attrs', 'val'])) / 100000\n if (!isNaN(alpha)) {\n const al_color = tinycolor(color)\n al_color.setAlpha(alpha)\n color = al_color.toHex8()\n isAlpha = true\n }\n\n const hueMod = parseInt(getTextByPathList(clrNode, ['a:hueMod', 'attrs', 'val'])) / 100000\n if (!isNaN(hueMod)) {\n color = applyHueMod(color, hueMod, isAlpha)\n }\n const lumMod = parseInt(getTextByPathList(clrNode, ['a:lumMod', 'attrs', 'val'])) / 100000\n if (!isNaN(lumMod)) {\n color = applyLumMod(color, lumMod, isAlpha)\n }\n const lumOff = parseInt(getTextByPathList(clrNode, ['a:lumOff', 'attrs', 'val'])) / 100000\n if (!isNaN(lumOff)) {\n color = applyLumOff(color, lumOff, isAlpha)\n }\n const satMod = parseInt(getTextByPathList(clrNode, ['a:satMod', 'attrs', 'val'])) / 100000\n if (!isNaN(satMod)) {\n color = applySatMod(color, satMod, isAlpha)\n }\n const shade = parseInt(getTextByPathList(clrNode, ['a:shade', 'attrs', 'val'])) / 100000\n if (!isNaN(shade)) {\n color = applyShade(color, shade, isAlpha)\n }\n const tint = parseInt(getTextByPathList(clrNode, ['a:tint', 'attrs', 'val'])) / 100000\n if (!isNaN(tint)) {\n color = applyTint(color, tint, isAlpha)\n }\n\n if (color && color.indexOf('#') === -1) color = '#' + color\n\n return color\n}\n","/**\n * EMF (Enhanced Metafile) bitmap extraction.\n *\n * PPTX files frequently embed EMF images as OLE object previews (equations,\n * pasted objects). Browsers cannot display EMF, so those images come out\n * broken. Many EMFs carry their raster content as an uncompressed DIB inside\n * an EMR_STRETCHDIBITS record — that bitmap is extracted here and re-encoded\n * as PNG, without implementing full EMF record interpretation.\n *\n * EMF record format: each record is { type: u32, size: u32, ...data },\n * walked sequentially until the EOF record (type 14).\n *\n * Ported from yinyao855/pptxtojson-pro `src/utils/emfParser.ts` (MIT),\n * restricted to the dependency-free DIB path (the PDF path there needs\n * pdfjs-dist, which is far too heavy for this bundle).\n */\n\nconst EMR_EOF = 14\nconst EMR_STRETCHDIBITS = 81\n\n// EMF header signature at offset 40: \" EMF\"\nconst EMF_SIGNATURE = 0x464d4520\n\n// DIB compression: uncompressed RGB\nconst BI_RGB = 0\n\n/**\n * Parse an EMF file and extract the first embedded uncompressed DIB as an\n * RGBA bitmap ({ width, height, data }). Returns null when the file is not\n * EMF or carries no supported bitmap.\n */\nexport function extractEmfBitmap(data) {\n if (!data || data.length < 44) return null\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength)\n if (view.getUint32(40, true) !== EMF_SIGNATURE) return null\n\n let offset = 0\n while (offset + 8 <= data.length) {\n const recordType = view.getUint32(offset, true)\n const recordSize = view.getUint32(offset + 4, true)\n\n if (recordSize < 8 || offset + recordSize > data.length) break\n if (recordType === EMR_EOF) break\n\n if (recordType === EMR_STRETCHDIBITS && recordSize > 80) {\n const bitmap = parseStretchDibits(data, view, offset)\n if (bitmap) return bitmap\n }\n\n offset += recordSize\n }\n\n return null\n}\n\n/**\n * Parse a STRETCHDIBITS record and extract the bitmap as an RGBA buffer.\n *\n * Record layout (offsets from record start):\n * 0: type(4), 4: size(4), 8: rclBounds(16), 24: xDest(4), 28: yDest(4),\n * 32: xSrc(4), 36: ySrc(4), 40: cxSrc(4), 44: cySrc(4),\n * 48: offBmiSrc(4), 52: cbBmiSrc(4), 56: offBitsSrc(4), 60: cbBitsSrc(4),\n * 64: iUsageSrc(4), 68: dwRop(4), 72: cxDest(4), 76: cyDest(4)\n */\nfunction parseStretchDibits(data, view, offset) {\n if (offset + 80 > data.length) return null\n\n const offBmiSrc = view.getUint32(offset + 48, true)\n const cbBmiSrc = view.getUint32(offset + 52, true)\n const offBitsSrc = view.getUint32(offset + 56, true)\n const cbBitsSrc = view.getUint32(offset + 60, true)\n\n if (cbBmiSrc === 0 || cbBitsSrc === 0) return null\n\n const bmiStart = offset + offBmiSrc\n if (bmiStart + 40 > data.length) return null\n\n // BITMAPINFOHEADER\n const biWidth = view.getInt32(bmiStart + 4, true)\n const biHeight = view.getInt32(bmiStart + 8, true)\n const biBitCount = view.getUint16(bmiStart + 14, true)\n const biCompression = view.getUint32(bmiStart + 16, true)\n\n if (biCompression !== BI_RGB) return null\n if (biBitCount !== 24 && biBitCount !== 32) return null\n\n const width = Math.abs(biWidth)\n const height = Math.abs(biHeight)\n if (width === 0 || height === 0 || width > 8192 || height > 8192) return null\n\n const bitsStart = offset + offBitsSrc\n if (bitsStart + cbBitsSrc > data.length) return null\n\n const bitsData = data.subarray(bitsStart, bitsStart + cbBitsSrc)\n\n // Negative height means top-down row order; positive means bottom-up\n const topDown = biHeight < 0\n\n const pixels = new Uint8ClampedArray(width * height * 4)\n const bytesPerPixel = biBitCount / 8\n // DIB rows are padded to 4-byte boundaries\n const rowStride = Math.ceil((width * bytesPerPixel) / 4) * 4\n\n for (let y = 0; y < height; y++) {\n const srcRow = topDown ? y : height - 1 - y\n const srcOffset = srcRow * rowStride\n const dstOffset = y * width * 4\n\n for (let x = 0; x < width; x++) {\n const srcIdx = srcOffset + x * bytesPerPixel\n if (srcIdx + bytesPerPixel > bitsData.length) break\n\n // DIB stores BGR(A)\n pixels[dstOffset + x * 4 + 0] = bitsData[srcIdx + 2]\n pixels[dstOffset + x * 4 + 1] = bitsData[srcIdx + 1]\n pixels[dstOffset + x * 4 + 2] = bitsData[srcIdx + 0]\n pixels[dstOffset + x * 4 + 3] = biBitCount === 32 ? bitsData[srcIdx + 3] : 255\n }\n }\n\n return { width, height, data: pixels }\n}\n\n/**\n * Convert EMF bytes to a PNG data URL via canvas. Browser-only; returns ''\n * in non-DOM environments or when the EMF has no extractable bitmap.\n */\nexport function emfToPngDataUrl(data) {\n if (typeof document === 'undefined') return ''\n\n const bitmap = extractEmfBitmap(data)\n if (!bitmap) return ''\n\n const canvas = document.createElement('canvas')\n canvas.width = bitmap.width\n canvas.height = bitmap.height\n const ctx = canvas.getContext('2d')\n if (!ctx) return ''\n ctx.putImageData(new ImageData(bitmap.data, bitmap.width, bitmap.height), 0, 0)\n return canvas.toDataURL('image/png')\n}\n","import { getTextByPathList } from './utils'\n\nexport function getSchemeColorFromTheme(schemeClr, warpObj, clrMap, phClr) {\n let color\n let slideLayoutClrOvride\n if (clrMap) slideLayoutClrOvride = clrMap\n else {\n let sldClrMapOvr = getTextByPathList(warpObj['slideContent'], ['p:sld', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) slideLayoutClrOvride = sldClrMapOvr\n else {\n sldClrMapOvr = getTextByPathList(warpObj['slideLayoutContent'], ['p:sldLayout', 'p:clrMapOvr', 'a:overrideClrMapping', 'attrs'])\n if (sldClrMapOvr) slideLayoutClrOvride = sldClrMapOvr\n else {\n slideLayoutClrOvride = getTextByPathList(warpObj['slideMasterContent'], ['p:sldMaster', 'p:clrMap', 'attrs'])\n }\n }\n }\n const schmClrName = schemeClr.substr(2)\n if (schmClrName === 'phClr' && phClr) color = phClr\n else {\n if (slideLayoutClrOvride) {\n switch (schmClrName) {\n case 'tx1':\n case 'tx2':\n case 'bg1':\n case 'bg2':\n schemeClr = 'a:' + slideLayoutClrOvride[schmClrName]\n break\n default:\n break\n }\n }\n else {\n switch (schmClrName) {\n case 'tx1':\n schemeClr = 'a:dk1'\n break\n case 'tx2':\n schemeClr = 'a:dk2'\n break\n case 'bg1':\n schemeClr = 'a:lt1'\n break\n case 'bg2':\n schemeClr = 'a:lt2'\n break\n default:\n break\n }\n }\n const refNode = getTextByPathList(warpObj['themeContent'], ['a:theme', 'a:themeElements', 'a:clrScheme', schemeClr])\n color = getTextByPathList(refNode, ['a:srgbClr', 'attrs', 'val'])\n if (!color && refNode) color = getTextByPathList(refNode, ['a:sysClr', 'attrs', 'lastClr'])\n }\n return color\n}","import { getSolidFill, getGradientFill } from './fill'\nimport { getTextByPathList } from './utils'\n\nfunction getLineEnd(node) {\n const attrs = getTextByPathList(node, ['attrs'])\n if (!attrs) return undefined\n\n const lineEnd = { type: attrs.type || 'none' }\n if (attrs.w) lineEnd.width = attrs.w\n if (attrs.len) lineEnd.length = attrs.len\n return lineEnd\n}\n\nexport function getBorder(node, elType, warpObj) {\n const spPrLineNode = getTextByPathList(node, ['p:spPr', 'a:ln'])\n const lnRefNode = getTextByPathList(node, ['p:style', 'a:lnRef'])\n let lineNode = spPrLineNode\n if (!lineNode) {\n if (lnRefNode) {\n const lnIdx = getTextByPathList(lnRefNode, ['attrs', 'idx'])\n lineNode = warpObj['themeContent']['a:theme']['a:themeElements']['a:fmtScheme']['a:lnStyleLst']['a:ln'][Number(lnIdx) - 1]\n }\n }\n if (!lineNode) lineNode = node\n\n const isNoFill = getTextByPathList(lineNode, ['a:noFill'])\n const hasFill = lineNode['a:solidFill'] || lineNode['a:gradFill']\n const hasWidth = getTextByPathList(lineNode, ['attrs', 'w']) !== undefined\n\n // 正常解析边框宽度\n let borderWidth = isNoFill ? 0 : (parseInt(getTextByPathList(lineNode, ['attrs', 'w'])) / 12700)\n if (isNaN(borderWidth)) {\n const hasLineNode = lineNode && lineNode !== node\n borderWidth = (hasLineNode && (hasFill || hasWidth)) ? 9525 / 12700 : 0\n }\n\n let borderColor = null\n\n if (lineNode['a:solidFill']) {\n const color = getSolidFill(lineNode['a:solidFill'], undefined, undefined, warpObj)\n if (color) borderColor = { type: 'color', value: color }\n }\n\n // 仅当形状本身没有定义 a:ln(使用 lnRef 主题样式)时,才从 lnRef 取颜色\n if (!borderColor && !spPrLineNode) {\n if (lnRefNode) {\n const color = getSolidFill(lnRefNode, undefined, undefined, warpObj)\n if (color) borderColor = { type: 'color', value: color }\n }\n }\n\n if (!borderColor && lineNode['a:gradFill']) {\n const gradValue = getGradientFill(lineNode['a:gradFill'], warpObj)\n if (gradValue && gradValue.colors && gradValue.colors.length > 0) {\n borderColor = { type: 'gradient', value: gradValue }\n }\n }\n\n // 默认边框颜色为透明\n if (!borderColor) {\n borderColor = { type: 'color', value: 'transparent' }\n }\n\n const type = getTextByPathList(lineNode, ['a:prstDash', 'attrs', 'val'])\n let borderType = 'solid'\n let strokeDasharray = '0'\n switch (type) {\n case 'solid':\n borderType = 'solid'\n strokeDasharray = '0'\n break\n case 'dash':\n borderType = 'dashed'\n strokeDasharray = '5'\n break\n case 'dashDot':\n borderType = 'dashed'\n strokeDasharray = '5, 5, 1, 5'\n break\n case 'dot':\n borderType = 'dotted'\n strokeDasharray = '1, 5'\n break\n case 'lgDash':\n borderType = 'dashed'\n strokeDasharray = '10, 5'\n break\n case 'lgDashDotDot':\n borderType = 'dotted'\n strokeDasharray = '10, 5, 1, 5, 1, 5'\n break\n case 'sysDash':\n borderType = 'dashed'\n strokeDasharray = '5, 2'\n break\n case 'sysDashDot':\n borderType = 'dotted'\n strokeDasharray = '5, 2, 1, 5'\n break\n case 'sysDashDotDot':\n borderType = 'dotted'\n strokeDasharray = '5, 2, 1, 5, 1, 5'\n break\n case 'sysDot':\n borderType = 'dotted'\n strokeDasharray = '2, 5'\n break\n default:\n }\n\n const headEnd = getLineEnd(getTextByPathList(lineNode, ['a:headEnd']))\n const tailEnd = getLineEnd(getTextByPathList(lineNode, ['a:tailEnd']))\n\n return {\n borderColor,\n borderWidth,\n borderType,\n strokeDasharray,\n headEnd,\n tailEnd,\n }\n}\n","import { eachElement, getTextByPathList } from './utils'\nimport { applyTint } from './color'\n\nfunction extractChartColors(serNode, warpObj) {\n if (!serNode) return []\n\n if (serNode.constructor !== Array) serNode = [serNode]\n const schemeClrs = []\n for (const node of serNode) {\n let schemeClr = getTextByPathList(node, ['c:spPr', 'a:solidFill', 'a:schemeClr'])\n if (!schemeClr) schemeClr = getTextByPathList(node, ['c:spPr', 'a:ln', 'a:solidFill', 'a:schemeClr'])\n if (!schemeClr) schemeClr = getTextByPathList(node, ['c:marker', 'c:spPr', 'a:ln', 'a:solidFill', 'a:schemeClr'])\n\n let clr = getTextByPathList(schemeClr, ['attrs', 'val'])\n if (clr) {\n clr = getTextByPathList(warpObj['themeContent'], ['a:theme', 'a:themeElements', 'a:clrScheme', `a:${clr}`, 'a:srgbClr', 'attrs', 'val'])\n const tint = getTextByPathList(schemeClr, ['a:tint', 'attrs', 'val']) / 100000\n if (clr && !isNaN(tint)) {\n clr = applyTint(clr, tint)\n }\n }\n else clr = getTextByPathList(node, ['c:spPr', 'a:solidFill', 'a:srgbClr', 'attrs', 'val'])\n\n if (clr) clr = '#' + clr\n schemeClrs.push(clr)\n }\n return schemeClrs\n}\n\nfunction extractChartData(serNode) {\n const dataMat = []\n if (!serNode) return dataMat\n\n eachElement(serNode, (innerNode, index) => {\n const dataRow = []\n const colName = getTextByPathList(innerNode, ['c:tx', 'c:strRef', 'c:strCache', 'c:pt', 'c:v']) || index\n\n const rowNames = {}\n if (getTextByPathList(innerNode, ['c:cat', 'c:strRef', 'c:strCache', 'c:pt'])) {\n eachElement(innerNode['c:cat']['c:strRef']['c:strCache']['c:pt'], innerNode => {\n rowNames[innerNode['attrs']['idx']] = innerNode['c:v']\n return ''\n })\n } \n else if (getTextByPathList(innerNode, ['c:cat', 'c:numRef', 'c:numCache', 'c:pt'])) {\n eachElement(innerNode['c:cat']['c:numRef']['c:numCache']['c:pt'], innerNode => {\n rowNames[innerNode['attrs']['idx']] = innerNode['c:v']\n return ''\n })\n }\n\n if (getTextByPathList(innerNode, ['c:val', 'c:numRef', 'c:numCache', 'c:pt'])) {\n eachElement(innerNode['c:val']['c:numRef']['c:numCache']['c:pt'], innerNode => {\n dataRow.push({\n x: innerNode['attrs']['idx'],\n y: parseFloat(innerNode['c:v']),\n })\n return ''\n })\n }\n\n dataMat.push({\n key: colName,\n values: dataRow,\n xlabels: rowNames,\n })\n return ''\n })\n\n return dataMat\n}\n\nfunction extractScatterChartData(serNode) {\n const dataMat = []\n if (!serNode) return dataMat\n\n const serNodes = serNode.constructor === Array ? serNode : [serNode]\n const firstSerNode = serNodes[0]\n const xData = []\n\n eachElement(firstSerNode['c:xVal']['c:numRef']['c:numCache']['c:pt'], innerNode => {\n xData.push(parseFloat(innerNode['c:v']))\n return ''\n })\n dataMat.push(xData)\n\n for (const node of serNodes) {\n const yData = []\n eachElement(node['c:yVal']['c:numRef']['c:numCache']['c:pt'], innerNode => {\n yData.push(parseFloat(innerNode['c:v']))\n return ''\n })\n dataMat.push(yData)\n }\n\n return dataMat\n}\n\nexport function getChartInfo(plotArea, warpObj) {\n let chart = null\n for (const key in plotArea) {\n if (!plotArea[key]['c:ser']) continue\n\n switch (key) {\n case 'c:lineChart':\n chart = {\n type: 'lineChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n marker: plotArea[key]['c:marker'] ? true : false,\n }\n break\n case 'c:line3DChart':\n chart = {\n type: 'line3DChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n }\n break\n case 'c:barChart':\n chart = {\n type: 'barChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n barDir: getTextByPathList(plotArea[key], ['c:barDir', 'attrs', 'val']),\n }\n break\n case 'c:bar3DChart':\n chart = {\n type: 'bar3DChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n barDir: getTextByPathList(plotArea[key], ['c:barDir', 'attrs', 'val']),\n }\n break\n case 'c:pieChart':\n chart = {\n type: 'pieChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser']['c:dPt'], warpObj),\n }\n break\n case 'c:pie3DChart':\n chart = {\n type: 'pie3DChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser']['c:dPt'], warpObj),\n }\n break\n case 'c:doughnutChart':\n chart = {\n type: 'doughnutChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser']['c:dPt'], warpObj),\n holeSize: getTextByPathList(plotArea[key], ['c:holeSize', 'attrs', 'val']),\n }\n break\n case 'c:areaChart':\n chart = {\n type: 'areaChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n }\n break\n case 'c:area3DChart':\n chart = {\n type: 'area3DChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n grouping: getTextByPathList(plotArea[key], ['c:grouping', 'attrs', 'val']),\n }\n break\n case 'c:scatterChart':\n chart = {\n type: 'scatterChart',\n data: extractScatterChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n style: getTextByPathList(plotArea[key], ['c:scatterStyle', 'attrs', 'val']),\n }\n break\n case 'c:bubbleChart':\n chart = {\n type: 'bubbleChart',\n data: extractScatterChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n }\n break\n case 'c:radarChart':\n chart = {\n type: 'radarChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n style: getTextByPathList(plotArea[key], ['c:radarStyle', 'attrs', 'val']),\n }\n break\n case 'c:surfaceChart':\n chart = {\n type: 'surfaceChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n }\n break\n case 'c:surface3DChart':\n chart = {\n type: 'surface3DChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: extractChartColors(plotArea[key]['c:ser'], warpObj),\n }\n break\n case 'c:stockChart':\n chart = {\n type: 'stockChart',\n data: extractChartData(plotArea[key]['c:ser']),\n colors: [],\n }\n break\n default:\n }\n }\n\n return chart\n}\n","export const RATIO_Inches_EMUs = 914400 // 1英寸 = 914400EMUs\nexport const RATIO_Inches_Points = 72 // 1英寸 = 72pt\nexport const RATIO_EMUs_Points = RATIO_Inches_Points / RATIO_Inches_EMUs // 1EMUs = (72 / 914400)pt","import { RATIO_EMUs_Points } from './constants'\nimport { getTextByPathList, numberToFixed } from './utils'\n\nfunction getParagraphLevel(node) {\n let lvlIdx = 1\n const lvlNode = getTextByPathList(node, ['a:pPr', 'attrs', 'lvl'])\n if (lvlNode !== undefined) lvlIdx = parseInt(lvlNode) + 1\n return lvlIdx\n}\n\nfunction getAlignFromTextNode(node, lvlStr) {\n if (!node) return ''\n\n let algn = getTextByPathList(node, ['p:txBody', 'a:lstStyle', lvlStr, 'attrs', 'algn'])\n if (!algn) algn = getTextByPathList(node, ['p:txBody', 'a:p', 'a:pPr', 'attrs', 'algn'])\n\n return algn || ''\n}\n\nexport function getHorizontalAlign(node, pNode, type, slideLayoutSpNode, slideMasterSpNode, warpObj) {\n let algn = getTextByPathList(node, ['a:pPr', 'attrs', 'algn'])\n\n if (!algn) algn = getTextByPathList(pNode, ['p:txBody', 'a:p', 'a:pPr', 'attrs', 'algn'])\n\n if (!algn) {\n const lvlIdx = getParagraphLevel(node)\n const lvlStr = 'a:lvl' + lvlIdx + 'pPr'\n\n algn = getAlignFromTextNode(slideLayoutSpNode, lvlStr)\n if (!algn) algn = getAlignFromTextNode(slideMasterSpNode, lvlStr)\n\n if (!algn && (type === 'title' || type === 'ctrTitle' || type === 'subTitle')) {\n algn = getTextByPathList(warpObj, ['slideMasterTextStyles', 'p:titleStyle', lvlStr, 'attrs', 'algn'])\n if (!algn && type === 'subTitle') {\n algn = getTextByPathList(warpObj, ['slideMasterTextStyles', 'p:bodyStyle', lvlStr, 'attrs', 'algn'])\n }\n } \n else if (!algn && type === 'body') {\n algn = getTextByPathList(warpObj, ['slideMasterTextStyles', 'p:bodyStyle', lvlStr, 'attrs', 'algn'])\n } \n else if (!algn) {\n algn = getTextByPathList(warpObj, ['slideMasterTextStyles', 'p:otherStyle', lvlStr, 'attrs', 'algn'])\n }\n }\n\n let align = 'left'\n if (algn) {\n switch (algn) {\n case 'l':\n align = 'left'\n break\n case 'r':\n align = 'right'\n break\n case 'ctr':\n align = 'center'\n break\n case 'just':\n align = 'justify'\n break\n case 'dist':\n align = 'distribute'\n break\n default:\n align = 'inherit'\n }\n }\n return align\n}\n\nexport function getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode) {\n let anchor = getTextByPathList(node, ['p:txBody', 'a:bodyPr', 'attrs', 'anchor'])\n if (!anchor) {\n anchor = getTextByPathList(slideLayoutSpNode, ['p:txBody', 'a:bodyPr', 'attrs', 'anchor'])\n if (!anchor) {\n anchor = getTextByPathList(slideMasterSpNode, ['p:txBody', 'a:bodyPr', 'attrs', 'anchor'])\n if (!anchor) anchor = 't'\n }\n }\n return (anchor === 'ctr') ? 'mid' : ((anchor === 'b') ? 'down' : 'up')\n}\n\nexport function getTextDirection(node, slideLayoutSpNode, slideMasterSpNode) {\n const sources = [node, slideLayoutSpNode, slideMasterSpNode]\n for (const source of sources) {\n const direction = getTextByPathList(source, ['p:txBody', 'a:bodyPr', 'attrs', 'vert'])\n if (direction) return direction\n }\n return 'horz'\n}\n\nexport function getTextAutoFit(node, slideLayoutSpNode, slideMasterSpNode) {\n function checkBodyPr(bodyPr) {\n if (!bodyPr) return null\n\n if (bodyPr['a:noAutofit']) return { result: null }\n else if (bodyPr['a:spAutoFit']) {\n const wrap = getTextByPathList(bodyPr, ['attrs', 'wrap'])\n const wrapText = wrap !== 'none'\n return { result: { type: 'shape', wrapText } }\n }\n else if (bodyPr['a:normAutofit']) {\n const fontScale = getTextByPathList(bodyPr['a:normAutofit'], ['attrs', 'fontScale'])\n if (fontScale) {\n const scalePercent = parseInt(fontScale) / 1000\n return {\n result: {\n type: 'text',\n fontScale: scalePercent,\n }\n }\n }\n return { result: { type: 'text' } }\n }\n return null\n }\n\n const nodeCheck = checkBodyPr(getTextByPathList(node, ['p:txBody', 'a:bodyPr']))\n if (nodeCheck) return nodeCheck.result\n\n const layoutCheck = checkBodyPr(getTextByPathList(slideLayoutSpNode, ['p:txBody', 'a:bodyPr']))\n if (layoutCheck) return layoutCheck.result\n\n const masterCheck = checkBodyPr(getTextByPathList(slideMasterSpNode, ['p:txBody', 'a:bodyPr']))\n if (masterCheck) return masterCheck.result\n\n return null\n}\n\nfunction pushParagraphStyleNode(styleNodes, styleNode) {\n if (styleNode) styleNodes.push(styleNode)\n}\n\nfunction appendTextBodyParagraphStyleNodes(styleNodes, textBodyNode, lvl) {\n if (!textBodyNode) return\n\n const lvlPath = `a:lvl${lvl}pPr`\n pushParagraphStyleNode(styleNodes, getTextByPathList(textBodyNode, ['a:lstStyle', lvlPath]))\n}\n\nfunction appendShapeParagraphStyleNodes(styleNodes, shapeNode, lvl) {\n if (!shapeNode) return\n\n const lvlPath = `a:lvl${lvl}pPr`\n pushParagraphStyleNode(styleNodes, getTextByPathList(shapeNode, ['p:txBody', 'a:lstStyle', lvlPath]))\n pushParagraphStyleNode(styleNodes, getTextByPathList(shapeNode, ['p:txBody', 'a:p', 'a:pPr']))\n}\n\nfunction appendMasterTextParagraphStyleNodes(styleNodes, type, lvl, slideMasterTextStyles) {\n if (!slideMasterTextStyles) return\n\n const lvlPath = `a:lvl${lvl}pPr`\n\n if (type === 'title' || type === 'ctrTitle' || type === 'subTitle') {\n pushParagraphStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:titleStyle', lvlPath]))\n if (type === 'subTitle') {\n pushParagraphStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlPath]))\n }\n }\n else if (type === 'body') {\n pushParagraphStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlPath]))\n }\n else {\n pushParagraphStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:otherStyle', lvlPath]))\n }\n}\n\nfunction appendDefaultTextParagraphStyleNodes(styleNodes, defaultTextStyle, lvl) {\n if (!defaultTextStyle) return\n\n const lvlPath = `a:lvl${lvl}pPr`\n pushParagraphStyleNode(styleNodes, getTextByPathList(defaultTextStyle, [lvlPath]))\n pushParagraphStyleNode(styleNodes, getTextByPathList(defaultTextStyle, ['a:defPPr']))\n}\n\nfunction getParagraphStyleNodes(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj) {\n if (!pNode) return null\n\n const pPrNode = pNode['a:pPr']\n const lvl = getParagraphLevel(pNode)\n const styleNodes = []\n\n pushParagraphStyleNode(styleNodes, pPrNode)\n appendTextBodyParagraphStyleNodes(styleNodes, textBodyNode, lvl)\n appendShapeParagraphStyleNodes(styleNodes, slideLayoutSpNode, lvl)\n appendShapeParagraphStyleNodes(styleNodes, slideMasterSpNode, lvl)\n appendMasterTextParagraphStyleNodes(styleNodes, type, lvl, slideMasterTextStyles)\n appendDefaultTextParagraphStyleNodes(styleNodes, getTextByPathList(warpObj, ['defaultTextStyle']), lvl)\n\n return styleNodes\n}\n\nfunction getLineSpacingValue(spacingNode) {\n const spcPct = getTextByPathList(spacingNode, ['a:spcPct', 'attrs', 'val'])\n const spcPts = getTextByPathList(spacingNode, ['a:spcPts', 'attrs', 'val'])\n\n if (spcPct) return Math.round(parseInt(spcPct) / 1000 / 100 * 1.2 * 100) / 100\n if (spcPts) return parseInt(spcPts) / 100 + 'pt'\n\n return undefined\n}\n\nfunction getParagraphSpacingValue(spacingNode) {\n const spcPct = getTextByPathList(spacingNode, ['a:spcPct', 'attrs', 'val'])\n const spcPts = getTextByPathList(spacingNode, ['a:spcPts', 'attrs', 'val'])\n\n if (spcPct) return parseInt(spcPct) / 100000 + 'em'\n if (spcPts) return parseInt(spcPts) / 100 + 'pt'\n\n return undefined\n}\n\nfunction getParagraphIndentValue(styleNode, attrName) {\n const val = getTextByPathList(styleNode, ['attrs', attrName])\n\n if (val !== undefined && val !== '') return numberToFixed(parseInt(val) * RATIO_EMUs_Points) + 'pt'\n\n return undefined\n}\n\nexport function getParagraphSpacing(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj) {\n const styleNodes = getParagraphStyleNodes(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj)\n if (!styleNodes) return null\n\n const spacing = {}\n\n for (const styleNode of styleNodes) {\n if (spacing.lineSpacing === undefined) {\n const lineSpacing = getLineSpacingValue(styleNode['a:lnSpc'])\n if (lineSpacing !== undefined) spacing.lineSpacing = lineSpacing\n }\n\n if (spacing.spaceBefore === undefined) {\n const spaceBefore = getParagraphSpacingValue(styleNode['a:spcBef'])\n if (spaceBefore !== undefined) spacing.spaceBefore = spaceBefore\n }\n\n if (spacing.spaceAfter === undefined) {\n const spaceAfter = getParagraphSpacingValue(styleNode['a:spcAft'])\n if (spaceAfter !== undefined) spacing.spaceAfter = spaceAfter\n }\n }\n\n const lnSpcReductionVal = getLnSpcReduction(textBodyNode, slideLayoutSpNode, slideMasterSpNode)\n if (lnSpcReductionVal !== undefined) {\n const reduction = lnSpcReductionVal / 100000\n if (spacing.lineSpacing !== undefined) {\n if (typeof spacing.lineSpacing === 'number') {\n spacing.lineSpacing = Math.round((spacing.lineSpacing * (1 - reduction)) * 100) / 100\n }\n }\n else {\n spacing.lineSpacing = Math.round((1 - reduction) * 100) / 100\n }\n }\n\n return Object.keys(spacing).length > 0 ? spacing : null\n}\n\nfunction getLnSpcReduction(textBodyNode, slideLayoutSpNode, slideMasterSpNode) {\n const sources = [textBodyNode, slideLayoutSpNode && slideLayoutSpNode['p:txBody'], slideMasterSpNode && slideMasterSpNode['p:txBody']]\n for (const src of sources) {\n const val = getTextByPathList(src, ['a:bodyPr', 'a:normAutofit', 'attrs', 'lnSpcReduction'])\n if (val !== undefined) return parseInt(val)\n }\n return undefined\n}\n\nexport function getParagraphIndent(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj) {\n const styleNodes = getParagraphStyleNodes(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj)\n if (!styleNodes) return null\n\n const indent = {}\n\n for (const styleNode of styleNodes) {\n if (indent.marginLeft === undefined) {\n const marginLeft = getParagraphIndentValue(styleNode, 'marL')\n if (marginLeft !== undefined) indent.marginLeft = marginLeft\n }\n\n if (indent.textIndent === undefined) {\n const textIndent = getParagraphIndentValue(styleNode, 'indent')\n if (textIndent !== undefined) indent.textIndent = textIndent\n }\n }\n\n return Object.keys(indent).length > 0 ? indent : null\n}\n","import { getTextByPathList, numberToFixed } from './utils'\nimport { RATIO_EMUs_Points } from './constants'\n\nconst DEFAULT_INSET_EMU = {\n lIns: 91440, // 0.1 in\n rIns: 91440, // 0.1 in\n tIns: 45720, // 0.05 in\n bIns: 45720, // 0.05 in\n}\n\nfunction getInsetAttr(slideNode, layoutNode, masterNode, attrName) {\n let v = getTextByPathList(slideNode, ['p:txBody', 'a:bodyPr', 'attrs', attrName])\n if (v !== undefined && v !== null && v !== '') return v\n\n v = getTextByPathList(layoutNode, ['p:txBody', 'a:bodyPr', 'attrs', attrName])\n if (v !== undefined && v !== null && v !== '') return v\n\n return getTextByPathList(masterNode, ['p:txBody', 'a:bodyPr', 'attrs', attrName])\n}\n\nfunction emuToPt(emuStr) {\n if (emuStr === undefined || emuStr === null || emuStr === '') return null\n const v = parseInt(emuStr, 10)\n if (!Number.isFinite(v)) return null\n return numberToFixed(v * RATIO_EMUs_Points)\n}\n\nexport function getTextInsets(node, slideLayoutSpNode, slideMasterSpNode) {\n const nodeBodyPr = getTextByPathList(node, ['p:txBody', 'a:bodyPr'])\n const layoutBodyPr = getTextByPathList(slideLayoutSpNode, ['p:txBody', 'a:bodyPr'])\n const masterBodyPr = getTextByPathList(slideMasterSpNode, ['p:txBody', 'a:bodyPr'])\n\n if (!nodeBodyPr) {\n if (!layoutBodyPr) {\n if (!masterBodyPr) return null\n }\n }\n\n let li = getInsetAttr(node, slideLayoutSpNode, slideMasterSpNode, 'lIns')\n if (li === undefined || li === null || li === '') li = DEFAULT_INSET_EMU.lIns\n\n let ti = getInsetAttr(node, slideLayoutSpNode, slideMasterSpNode, 'tIns')\n if (ti === undefined || ti === null || ti === '') ti = DEFAULT_INSET_EMU.tIns\n\n let ri = getInsetAttr(node, slideLayoutSpNode, slideMasterSpNode, 'rIns')\n if (ri === undefined || ri === null || ri === '') ri = DEFAULT_INSET_EMU.rIns\n\n let bi = getInsetAttr(node, slideLayoutSpNode, slideMasterSpNode, 'bIns')\n if (bi === undefined || bi === null || bi === '') bi = DEFAULT_INSET_EMU.bIns\n\n let l = emuToPt(li)\n if (l === null) l = 0\n\n let t = emuToPt(ti)\n if (t === null) t = 0\n\n let r = emuToPt(ri)\n if (r === null) r = 0\n\n let b = emuToPt(bi)\n if (b === null) b = 0\n\n return { l, t, r, b }\n}\n","import { RATIO_EMUs_Points } from './constants'\nimport { numberToFixed } from './utils'\n\nexport function getPosition(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let off\n\n if (slideSpNode) off = slideSpNode['a:off']['attrs']\n else if (slideLayoutSpNode) off = slideLayoutSpNode['a:off']['attrs']\n else if (slideMasterSpNode) off = slideMasterSpNode['a:off']['attrs']\n\n if (!off) return { top: 0, left: 0 }\n\n return {\n top: numberToFixed(parseInt(off['y']) * RATIO_EMUs_Points),\n left: numberToFixed(parseInt(off['x']) * RATIO_EMUs_Points),\n }\n}\n\nexport function getSize(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let ext\n\n if (slideSpNode) ext = slideSpNode['a:ext']['attrs']\n else if (slideLayoutSpNode) ext = slideLayoutSpNode['a:ext']['attrs']\n else if (slideMasterSpNode) ext = slideMasterSpNode['a:ext']['attrs']\n\n if (!ext) return { width: 0, height: 0 }\n\n return {\n width: numberToFixed(parseInt(ext['cx']) * RATIO_EMUs_Points),\n height: numberToFixed(parseInt(ext['cy']) * RATIO_EMUs_Points),\n }\n}","import { parse } from \"txml/txml\";\nconst UNI2LATEX = {\n 34: \"''\",\n 35: \"\\\\#\",\n 36: \"\\\\$\",\n 37: \"\\\\%\",\n 38: \"\\\\&\",\n 60: \"\\\\ensuremath{<}\",\n 62: \"\\\\ensuremath{>}\",\n 92: \"\\\\textbackslash\",\n 94: \"\\\\textasciicircum\",\n 95: \"\\\\_\",\n 123: \"\\\\{\",\n 125: \"\\\\}\",\n 126: \"\\\\textasciitilde\",\n 160: \"~\",\n 161: \"\\\\textexclamdown\",\n 162: \"\\\\textcent\",\n 163: \"\\\\textsterling\",\n 164: \"\\\\textcurrency\",\n 165: \"\\\\textyen\",\n 166: \"\\\\textbrokenbar\",\n 167: \"\\\\textsection\",\n 168: \"\\\\textasciidieresis\",\n 169: \"\\\\textcopyright\",\n 170: \"\\\\textordfeminine\",\n 171: \"\\\\guillemotleft\",\n 172: \"\\\\textlnot\",\n 173: \"\\\\-\",\n 174: \"\\\\textregistered\",\n 175: \"\\\\textasciimacron\",\n 176: \"\\\\textdegree\",\n 177: \"\\\\ensuremath{\\\\pm}\",\n 178: \"\\\\texttwosuperior\",\n 179: \"\\\\textthreesuperior\",\n 180: \"\\\\textasciiacute\",\n 181: \"\\\\textmu\",\n 182: \"\\\\textparagraph\",\n 183: \"\\\\textperiodcentered\",\n 185: \"\\\\textonesuperior\",\n 186: \"\\\\textordmasculine\",\n 187: \"\\\\guillemotright\",\n 188: \"\\\\textonequarter\",\n 189: \"\\\\textonehalf\",\n 190: \"\\\\textthreequarters\",\n 191: \"\\\\textquestiondown\",\n 192: \"\\\\`A\",\n 193: \"\\\\'A\",\n 194: \"\\\\^A\",\n 195: \"\\\\~A\",\n 196: \"\\\\\\\"A\",\n 197: \"\\\\r{A}\",\n 198: \"\\\\AE\",\n 199: \"\\\\c{C}\",\n 200: \"\\\\`E\",\n 201: \"\\\\'E\",\n 202: \"\\\\^E\",\n 203: \"\\\\\\\"E\",\n 204: \"\\\\`I\",\n 205: \"\\\\'I\",\n 206: \"\\\\^I\",\n 207: \"\\\\\\\"I\",\n 208: \"\\\\DH\",\n 209: \"\\\\~N\",\n 210: \"\\\\`O\",\n 211: \"\\\\'O\",\n 212: \"\\\\^O\",\n 213: \"\\\\~O\",\n 214: \"\\\\\\\"O\",\n 215: \"\\\\texttimes\",\n 216: \"\\\\O\",\n 217: \"\\\\`U\",\n 218: \"\\\\'U\",\n 219: \"\\\\^U\",\n 220: \"\\\\\\\"U\",\n 221: \"\\\\'Y\",\n 222: \"\\\\TH\",\n 223: \"\\\\ss\",\n 224: \"\\\\`a\",\n 225: \"\\\\'a\",\n 226: \"\\\\^a\",\n 227: \"\\\\~a\",\n 228: \"\\\\\\\"a\",\n 229: \"\\\\r{a}\",\n 230: \"\\\\ae\",\n 231: \"\\\\c{c}\",\n 232: \"\\\\`e\",\n 233: \"\\\\'e\",\n 234: \"\\\\^e\",\n 235: \"\\\\\\\"e\",\n 236: \"\\\\`\\\\i\",\n 237: \"\\\\'\\\\i\",\n 238: \"\\\\^\\\\i\",\n 239: \"\\\\\\\"\\\\i\",\n 240: \"\\\\dh\",\n 241: \"\\\\~n\",\n 242: \"\\\\`o\",\n 243: \"\\\\'o\",\n 244: \"\\\\^o\",\n 245: \"\\\\~o\",\n 246: \"\\\\\\\"o\",\n 247: \"\\\\textdiv\",\n 248: \"\\\\o\",\n 249: \"\\\\`u\",\n 250: \"\\\\'u\",\n 251: \"\\\\^u\",\n 252: \"\\\\\\\"u\",\n 253: \"\\\\'y\",\n 254: \"\\\\th\",\n 255: \"\\\\\\\"y\",\n 256: \"\\\\={A}\",\n 257: \"\\\\={a}\",\n 258: \"\\\\u{A}\",\n 259: \"\\\\u{a}\",\n 260: \"\\\\k{A}\",\n 261: \"\\\\k{a}\",\n 262: \"\\\\'C\",\n 263: \"\\\\'c\",\n 264: \"\\\\^{C}\",\n 265: \"\\\\^{c}\",\n 266: \"\\\\.{C}\",\n 267: \"\\\\.{c}\",\n 268: \"\\\\v{C}\",\n 269: \"\\\\v{c}\",\n 270: \"\\\\v{D}\",\n 271: \"\\\\v{d}\",\n 272: \"\\\\DJ\",\n 273: \"\\\\dj\",\n 274: \"\\\\={E}\",\n 275: \"\\\\={e}\",\n 276: \"\\\\u{E}\",\n 277: \"\\\\u{e}\",\n 278: \"\\\\.{E}\",\n 279: \"\\\\.{e}\",\n 280: \"\\\\k{E}\",\n 281: \"\\\\k{e}\",\n 282: \"\\\\v{E}\",\n 283: \"\\\\v{e}\",\n 284: \"\\\\^{G}\",\n 285: \"\\\\^{g}\",\n 286: \"\\\\u{G}\",\n 287: \"\\\\u{g}\",\n 288: \"\\\\.{G}\",\n 289: \"\\\\.{g}\",\n 290: \"\\\\c{G}\",\n 291: \"\\\\c{g}\",\n 292: \"\\\\^{H}\",\n 293: \"\\\\^{h}\",\n 294: \"\\\\={H}\",\n 295: \"\\\\={h}\",\n 296: \"\\\\~{I}\",\n 297: \"\\\\~{i}\",\n 298: \"\\\\={I}\",\n 299: \"\\\\={i}\",\n 300: \"\\\\u{I}\",\n 301: \"\\\\u{i}\",\n 302: \"\\\\k{I}\",\n 303: \"\\\\k{i}\",\n 304: \"\\\\.I\",\n 305: \"\\\\i\",\n 306: \"\\\\IJ\",\n 307: \"\\\\ij\",\n 308: \"\\\\^{J}\",\n 309: \"\\\\^{j}\",\n 310: \"\\\\c{K}\",\n 311: \"\\\\c{k}\",\n 312: \"\\\\textsc{k}\",\n 313: \"\\\\'L\",\n 314: \"\\\\'l\",\n 315: \"\\\\c{L}\",\n 316: \"\\\\c{l}\",\n 317: \"\\\\v{L}\",\n 318: \"\\\\v{l}\",\n 319: \"\\\\.{L}\",\n 320: \"\\\\.{l}\",\n 321: \"\\\\L\",\n 322: \"\\\\l\",\n 323: \"\\\\'N\",\n 324: \"\\\\'n\",\n 325: \"\\\\c{N}\",\n 326: \"\\\\c{n}\",\n 327: \"\\\\v{N}\",\n 328: \"\\\\v{n}\",\n 329: \"\\\\nument{149}\",\n 330: \"\\\\NG\",\n 331: \"\\\\ng\",\n 332: \"\\\\={O}\",\n 333: \"\\\\={o}\",\n 334: \"\\\\u{O}\",\n 335: \"\\\\u{o}\",\n 336: \"\\\\H{O}\",\n 337: \"\\\\H{o}\",\n 338: \"\\\\OE\",\n 339: \"\\\\oe\",\n 340: \"\\\\'R\",\n 341: \"\\\\'r\",\n 342: \"\\\\c{R}\",\n 343: \"\\\\c{r}\",\n 344: \"\\\\v{R}\",\n 345: \"\\\\v{r}\",\n 346: \"\\\\'S\",\n 347: \"\\\\'s\",\n 348: \"\\\\^{S}\",\n 349: \"\\\\^{s}\",\n 350: \"\\\\c{S}\",\n 351: \"\\\\c{s}\",\n 352: \"\\\\v{S}\",\n 353: \"\\\\v{s}\",\n 354: \"\\\\c{T}\",\n 355: \"\\\\c{t}\",\n 356: \"\\\\v{T}\",\n 357: \"\\\\v{t}\",\n 358: \"\\\\={T}\",\n 359: \"\\\\={t}\",\n 360: \"\\\\~{U}\",\n 361: \"\\\\~{u}\",\n 362: \"\\\\={U}\",\n 363: \"\\\\={u}\",\n 364: \"\\\\u{U}\",\n 365: \"\\\\u{u}\",\n 366: \"\\\\r{U}\",\n 367: \"\\\\r{u}\",\n 368: \"\\\\'{U}\",\n 369: \"\\\\'{u}\",\n 370: \"\\\\k{U}\",\n 371: \"\\\\k{u}\",\n 372: \"\\\\^{W}\",\n 373: \"\\\\^{w}\",\n 374: \"\\\\^{Y}\",\n 375: \"\\\\^{y}\",\n 376: \"\\\\\\\"Y\",\n 377: \"\\\\'Z\",\n 378: \"\\\\'z\",\n 379: \"\\\\.Z\",\n 380: \"\\\\.z\",\n 381: \"\\\\v{Z}\",\n 382: \"\\\\v{z}\",\n 402: \"\\\\textflorin\",\n 405: \"\\\\texthvlig\",\n 414: \"\\\\textnrleg\",\n 501: \"\\\\'{g}\",\n 552: \"\\\\c{E}\",\n 553: \"\\\\c{e}\",\n 601: \"\\\\textschwa\",\n 603: \"\\\\varepsilon\",\n 632: \"\\\\textphi\",\n 660: \"\\\\textglotstop\",\n 670: \"\\\\textturnk\",\n 695: \"\\\\textsuperscript{w}\",\n 700: \"'\",\n 710: \"\\\\textasciicircum\",\n 711: \"\\\\textasciicaron\",\n 728: \"\\\\textasciibreve\",\n 729: \"\\\\textperiodcentered\",\n 730: \"\\\\r{}\",\n 731: \"\\\\k{}\",\n 732: \"\\\\textasciitilde\",\n 733: \"\\\\textacutedbl\",\n 775: \"\\\\ensuremath{\\\\dot{}}\",\n 776: \"\\\\ensuremath{\\\\ddot{}}\",\n 902: \"\\\\'{}A\",\n 904: \"\\\\'{}E\",\n 905: \"\\\\'{}H\",\n 906: \"\\\\'{}I\",\n 908: \"\\\\'{}O\",\n 910: \"\\\\'{}Y\",\n 911: \"\\\\'{}\\\\ensuremath{\\\\Omega}\",\n 912: \"\\\\acute{\\\\ddot{\\\\iota}}\",\n 913: \"A\",\n 914: \"B\",\n 915: \"\\\\ensuremath{\\\\Gamma}\",\n 916: \"\\\\ensuremath{\\\\Delta}\",\n 917: \"E\",\n 918: \"Z\",\n 919: \"H\",\n 920: \"\\\\ensuremath{\\\\Theta}\",\n 921: \"I\",\n 922: \"K\",\n 923: \"\\\\ensuremath{\\\\Lambda}\",\n 924: \"M\",\n 925: \"N\",\n 926: \"\\\\ensuremath{\\\\Xi}\",\n 927: \"O\",\n 928: \"\\\\ensuremath{\\\\Pi}\",\n 929: \"P\",\n 931: \"\\\\ensuremath{\\\\Sigma}\",\n 932: \"T\",\n 933: \"\\\\ensuremath{\\\\Upsilon}\",\n 934: \"\\\\ensuremath{\\\\Phi}\",\n 935: \"X\",\n 936: \"\\\\ensuremath{\\\\Psi}\",\n 937: \"\\\\ensuremath{\\\\Omega}\",\n 938: \"\\\\ensuremath{\\\\ddot{I}}\",\n 939: \"\\\\ensuremath{\\\\ddot{Y}}\",\n 940: \"\\\\ensuremath{\\\\acute\\\\alpha}\",\n 941: \"\\\\ensuremath{\\\\acute\\\\epsilon}\",\n 942: \"\\\\ensuremath{\\\\acute\\\\eta}\",\n 943: \"\\\\ensuremath{\\\\acute\\\\iota}\",\n 944: \"\\\\ensuremath{\\\\acute{\\\\ddot{\\\\upsilon}}}\",\n 945: \"\\\\ensuremath{\\\\alpha}\",\n 946: \"\\\\ensuremath{\\\\beta}\",\n 947: \"\\\\ensuremath{\\\\gamma}\",\n 948: \"\\\\ensuremath{\\\\delta}\",\n 949: \"\\\\ensuremath{\\\\varepsilon}\",\n 950: \"\\\\ensuremath{\\\\zeta}\",\n 951: \"\\\\ensuremath{\\\\eta}\",\n 952: \"\\\\ensuremath{\\\\theta}\",\n 953: \"\\\\ensuremath{\\\\iota}\",\n 954: \"\\\\ensuremath{\\\\kappa}\",\n 955: \"\\\\ensuremath{\\\\lambda}\",\n 956: \"\\\\ensuremath{\\\\mu}\",\n 957: \"\\\\ensuremath{\\\\nu}\",\n 958: \"\\\\ensuremath{\\\\xi}\",\n 959: \"o\",\n 960: \"\\\\ensuremath{\\\\pi}\",\n 961: \"\\\\ensuremath{\\\\rho}\",\n 962: \"\\\\ensuremath{\\\\varsigma}\",\n 963: \"\\\\ensuremath{\\\\sigma}\",\n 964: \"\\\\ensuremath{\\\\tau}\",\n 965: \"\\\\ensuremath{\\\\upsilon}\",\n 966: \"\\\\ensuremath{\\\\varphi}\",\n 967: \"\\\\ensuremath{\\\\chi}\",\n 968: \"\\\\ensuremath{\\\\psi}\",\n 969: \"\\\\ensuremath{\\\\omega}\",\n 970: \"\\\\ensuremath{\\\\ddot\\\\iota}\",\n 971: \"\\\\ensuremath{\\\\ddot{\\\\upsilon}}\",\n 972: \"\\\\'{o}\",\n 973: \"\\\\ensuremath{\\\\acute\\\\upsilon}\",\n 974: \"\\\\ensuremath{\\\\acute\\\\omega}\",\n 977: \"\\\\ensuremath{\\\\vartheta}\",\n 978: \"\\\\Upsilon\",\n 981: \"\\\\ensuremath{\\\\phi}\",\n 982: \"\\\\ensuremath{\\\\varpi}\",\n 1008: \"\\\\ensuremath{\\\\varkappa}\",\n 1009: \"\\\\ensuremath{\\\\varrho}\",\n 1013: \"\\\\ensuremath{\\\\epsilon}\",\n 1014: \"\\\\ensuremath{\\\\backepsilon}\",\n 1024: \"\\\\`\\\\CYRE\",\n 1025: \"\\\\CYRYO\",\n 1026: \"\\\\CYRDJE\",\n 1027: \"\\\\`\\\\CYRG\",\n 1028: \"\\\\CYRIE\",\n 1029: \"\\\\CYRDZE\",\n 1030: \"\\\\CYRII\",\n 1031: \"\\\\CYRYI\",\n 1032: \"\\\\CYRJE\",\n 1033: \"\\\\CYRLJE\",\n 1034: \"\\\\CYRNJE\",\n 1035: \"\\\\CYRTSHE\",\n 1036: \"\\\\`\\\\CYRK\",\n 1037: \"\\\\`\\\\CYRI\",\n 1038: \"\\\\CYRUSHRT\",\n 1039: \"\\\\CYRDZHE\",\n 1040: \"\\\\CYRA\",\n 1041: \"\\\\CYRB\",\n 1042: \"\\\\CYRV\",\n 1043: \"\\\\CYRG\",\n 1044: \"\\\\CYRD\",\n 1045: \"\\\\CYRE\",\n 1046: \"\\\\CYRZH\",\n 1047: \"\\\\CYRZ\",\n 1048: \"\\\\CYRI\",\n 1049: \"\\\\CYRISHRT\",\n 1050: \"\\\\CYRK\",\n 1051: \"\\\\CYRL\",\n 1052: \"\\\\CYRM\",\n 1053: \"\\\\CYRN\",\n 1054: \"\\\\CYRO\",\n 1055: \"\\\\CYRP\",\n 1056: \"\\\\CYRR\",\n 1057: \"\\\\CYRS\",\n 1058: \"\\\\CYRT\",\n 1059: \"\\\\CYRU\",\n 1060: \"\\\\CYRF\",\n 1061: \"\\\\CYRH\",\n 1062: \"\\\\CYRC\",\n 1063: \"\\\\CYRCH\",\n 1064: \"\\\\CYRSH\",\n 1065: \"\\\\CYRSHCH\",\n 1066: \"\\\\CYRHRDSN\",\n 1067: \"\\\\CYRERY\",\n 1068: \"\\\\CYRSFTSN\",\n 1069: \"\\\\CYREREV\",\n 1070: \"\\\\CYRYU\",\n 1071: \"\\\\CYRYA\",\n 1072: \"\\\\cyra\",\n 1073: \"\\\\cyrb\",\n 1074: \"\\\\cyrv\",\n 1075: \"\\\\cyrg\",\n 1076: \"\\\\cyrd\",\n 1077: \"\\\\cyre\",\n 1078: \"\\\\cyrzh\",\n 1079: \"\\\\cyrz\",\n 1080: \"\\\\cyri\",\n 1081: \"\\\\cyrishrt\",\n 1082: \"\\\\cyrk\",\n 1083: \"\\\\cyrl\",\n 1084: \"\\\\cyrm\",\n 1085: \"\\\\cyrn\",\n 1086: \"\\\\cyro\",\n 1087: \"\\\\cyrp\",\n 1088: \"\\\\cyrr\",\n 1089: \"\\\\cyrs\",\n 1090: \"\\\\cyrt\",\n 1091: \"\\\\cyru\",\n 1092: \"\\\\cyrf\",\n 1093: \"\\\\cyrh\",\n 1094: \"\\\\cyrc\",\n 1095: \"\\\\cyrch\",\n 1096: \"\\\\cyrsh\",\n 1097: \"\\\\cyrshch\",\n 1098: \"\\\\cyrhrdsn\",\n 1099: \"\\\\cyrery\",\n 1100: \"\\\\cyrsftsn\",\n 1101: \"\\\\cyrerev\",\n 1102: \"\\\\cyryu\",\n 1103: \"\\\\cyrya\",\n 1104: \"\\\\`\\\\cyre\",\n 1105: \"\\\\cyryo\",\n 1106: \"\\\\cyrdje\",\n 1107: \"\\\\`\\\\cyrg\",\n 1108: \"\\\\cyrie\",\n 1109: \"\\\\cyrdze\",\n 1110: \"\\\\cyrii\",\n 1111: \"\\\\cyryi\",\n 1112: \"\\\\cyrje\",\n 1113: \"\\\\cyrlje\",\n 1114: \"\\\\cyrnje\",\n 1115: \"\\\\cyrtshe\",\n 1116: \"\\\\`\\\\cyrk\",\n 1117: \"\\\\`\\\\cyri\",\n 1118: \"\\\\cyrushrt\",\n 1119: \"\\\\cyrdzhe\",\n 1120: \"\\\\cyrchar\\\\CYROMEGA\",\n 1121: \"\\\\cyrchar\\\\cyromega\",\n 1122: \"\\\\CYRYAT\",\n 1123: \"\\\\cyryat\",\n 1124: \"\\\\cyrchar\\\\CYRIOTE\",\n 1125: \"\\\\cyrchar\\\\cyriote\",\n 1126: \"\\\\cyrchar\\\\CYRLYUS\",\n 1127: \"\\\\cyrchar\\\\cyrlyus\",\n 1128: \"\\\\cyrchar\\\\CYRIOTLYUS\",\n 1129: \"\\\\cyrchar\\\\cyriotlyus\",\n 1130: \"\\\\CYRBYUS\",\n 1131: \"\\\\cyrbyus\",\n 1132: \"\\\\cyrchar\\\\CYRIOTBYUS\",\n 1133: \"\\\\cyrchar\\\\cyriotbyus\",\n 1134: \"\\\\cyrchar\\\\CYRKSI\",\n 1135: \"\\\\cyrchar\\\\cyrksi\",\n 1136: \"\\\\cyrchar\\\\CYRPSI\",\n 1137: \"\\\\cyrchar\\\\cyrpsi\",\n 1138: \"\\\\CYRFITA\",\n 1139: \"\\\\cyrfita\",\n 1140: \"\\\\CYRIZH\",\n 1141: \"\\\\cyrizh\",\n 1142: \"\\\\C\\\\CYRIZH\",\n 1143: \"\\\\C\\\\cyrizh\",\n 1144: \"\\\\cyrchar\\\\CYRUK\",\n 1145: \"\\\\cyrchar\\\\cyruk\",\n 1146: \"\\\\cyrchar\\\\CYROMEGARND\",\n 1147: \"\\\\cyrchar\\\\cyromegarnd\",\n 1148: \"\\\\cyrchar\\\\CYROMEGATITLO\",\n 1149: \"\\\\cyrchar\\\\cyromegatitlo\",\n 1150: \"\\\\cyrchar\\\\CYROT\",\n 1151: \"\\\\cyrchar\\\\cyrot\",\n 1152: \"\\\\cyrchar\\\\CYRKOPPA\",\n 1153: \"\\\\cyrchar\\\\cyrkoppa\",\n 1154: \"\\\\cyrchar\\\\cyrthousands\",\n 1160: \"\\\\cyrchar\\\\cyrhundredthousands\",\n 1161: \"\\\\cyrchar\\\\cyrmillions\",\n 1164: \"\\\\CYRSEMISFTSN\",\n 1165: \"\\\\cyrsemisftsn\",\n 1166: \"\\\\CYRRTICK\",\n 1167: \"\\\\cyrrtick\",\n 1168: \"\\\\CYRGUP\",\n 1169: \"\\\\cyrgup\",\n 1170: \"\\\\CYRGHCRS\",\n 1171: \"\\\\cyrghcrs\",\n 1172: \"\\\\CYRGHK\",\n 1173: \"\\\\cyrghk\",\n 1174: \"\\\\CYRZHDSC\",\n 1175: \"\\\\cyrzhdsc\",\n 1176: \"\\\\CYRZDSC\",\n 1177: \"\\\\cyrzdsc\",\n 1178: \"\\\\CYRKDSC\",\n 1179: \"\\\\cyrkdsc\",\n 1180: \"\\\\CYRKVCRS\",\n 1181: \"\\\\cyrkvcrs\",\n 1182: \"\\\\CYRKHCRS\",\n 1183: \"\\\\cyrkhcrs\",\n 1184: \"\\\\CYRKBEAK\",\n 1185: \"\\\\cyrkbeak\",\n 1186: \"\\\\CYRNDSC\",\n 1187: \"\\\\cyrndsc\",\n 1188: \"\\\\CYRNG\",\n 1189: \"\\\\cyrng\",\n 1190: \"\\\\CYRPHK\",\n 1191: \"\\\\cyrphk\",\n 1192: \"\\\\CYRABHHA\",\n 1193: \"\\\\cyrabhha\",\n 1194: \"\\\\CYRSDSC\",\n 1195: \"\\\\cyrsdsc\",\n 1196: \"\\\\CYRTDSC\",\n 1197: \"\\\\cyrtdsc\",\n 1198: \"\\\\CYRY\",\n 1199: \"\\\\cyry\",\n 1200: \"\\\\CYRYHCRS\",\n 1201: \"\\\\cyryhcrs\",\n 1202: \"\\\\CYRHDSC\",\n 1203: \"\\\\cyrhdsc\",\n 1204: \"\\\\CYRTETSE\",\n 1205: \"\\\\cyrtetse\",\n 1206: \"\\\\CYRCHRDSC\",\n 1207: \"\\\\cyrchrdsc\",\n 1208: \"\\\\CYRCHVCRS\",\n 1209: \"\\\\cyrchvcrs\",\n 1210: \"\\\\CYRSHHA\",\n 1211: \"\\\\cyrshha\",\n 1212: \"\\\\CYRABHCH\",\n 1213: \"\\\\cyrabhch\",\n 1214: \"\\\\CYRABHCHDSC\",\n 1215: \"\\\\cyrabhchdsc\",\n 1216: \"\\\\CYRpalochka\",\n 1217: \"\\\\U\\\\CYRZH\",\n 1218: \"\\\\U\\\\cyrzh\",\n 1219: \"\\\\CYRKHK\",\n 1220: \"\\\\cyrkhk\",\n 1221: \"\\\\CYRLDSC\",\n 1222: \"\\\\cyrldsc\",\n 1223: \"\\\\CYRNHK\",\n 1224: \"\\\\cyrnhk\",\n 1227: \"\\\\CYRCHLDSC\",\n 1228: \"\\\\cyrchldsc\",\n 1229: \"\\\\CYRMDSC\",\n 1230: \"\\\\cyrmdsc\",\n 1232: \"\\\\U\\\\CYRA\",\n 1233: \"\\\\U\\\\cyra\",\n 1234: \"\\\\\\\"\\\\CYRA\",\n 1235: \"\\\\\\\"\\\\cyra\",\n 1236: \"\\\\CYRAE\",\n 1237: \"\\\\cyrae\",\n 1238: \"\\\\U\\\\CYRE\",\n 1239: \"\\\\U\\\\cyre\",\n 1240: \"\\\\CYRSCHWA\",\n 1241: \"\\\\cyrschwa\",\n 1242: \"\\\\\\\"\\\\CYRSCHWA\",\n 1243: \"\\\\\\\"\\\\cyrschwa\",\n 1244: \"\\\\\\\"\\\\CYRZH\",\n 1245: \"\\\\\\\"\\\\cyrzh\",\n 1246: \"\\\\\\\"\\\\CYRZ\",\n 1247: \"\\\\\\\"\\\\cyrz\",\n 1248: \"\\\\CYRABHDZE\",\n 1249: \"\\\\cyrabhdze\",\n 1250: \"\\\\=\\\\CYRI\",\n 1251: \"\\\\=\\\\cyri\",\n 1252: \"\\\\\\\"\\\\CYRI\",\n 1253: \"\\\\\\\"\\\\cyri\",\n 1254: \"\\\\\\\"\\\\CYRO\",\n 1255: \"\\\\\\\"\\\\cyro\",\n 1256: \"\\\\CYROTLD\",\n 1257: \"\\\\cyrotld\",\n 1260: \"\\\\\\\"\\\\CYREREV\",\n 1261: \"\\\\\\\"\\\\cyrerev\",\n 1262: \"\\\\=\\\\CYRU\",\n 1263: \"\\\\=\\\\cyru\",\n 1264: \"\\\\\\\"\\\\CYRU\",\n 1265: \"\\\\\\\"\\\\cyru\",\n 1266: \"\\\\H\\\\CYRU\",\n 1267: \"\\\\H\\\\cyru\",\n 1268: \"\\\\\\\"\\\\CYRCH\",\n 1269: \"\\\\\\\"\\\\cyrch\",\n 1270: \"\\\\CYRGDSC\",\n 1271: \"\\\\cyrgdsc\",\n 1272: \"\\\\\\\"\\\\CYRERY\",\n 1273: \"\\\\\\\"\\\\cyrery\",\n 1274: \"\\\\CYRGDSCHCRS\",\n 1275: \"\\\\cyrgdschcrs\",\n 1276: \"\\\\CYRHHK\",\n 1277: \"\\\\cyrhhk\",\n 1278: \"\\\\CYRHHCRS\",\n 1279: \"\\\\cyrhhcrs\",\n 3647: \"\\\\textbaht\",\n 8192: \"\\\\enskip\",\n 8193: \"\\\\quad\",\n 8194: \"\\\\enskip\",\n 8195: \"\\\\quad\",\n 8196: \"\\\\hspace{0.33em}\",\n 8197: \"\\\\hspace{0.25em}\",\n 8198: \"\\\\hspace{0.167em}\",\n 8199: \"~\",\n 8200: \"\\\\;\",\n 8201: \"\\\\,\",\n 8202: \"\\\\hspace{1pt}\",\n 8204: \"\\\\textcompwordmark\",\n 8208: \"-\",\n 8209: \"\\\\nobreakdash-\",\n 8210: \"-\",\n 8211: \"\\\\textendash\",\n 8212: \"\\\\textemdash\",\n 8213: \"\\\\textemdash\",\n 8214: \"\\\\ensuremath{\\\\Vert}\",\n 8216: \"\\\\textquoteleft\",\n 8217: \"\\\\textquoteright\",\n 8218: \"\\\\quotesinglbase\",\n 8220: \"\\\\textquotedblleft\",\n 8221: \"\\\\textquotedblright\",\n 8222: \"\\\\quotedblbase\",\n 8224: \"\\\\textdagger\",\n 8225: \"\\\\textdaggerdbl\",\n 8226: \"\\\\textbullet\",\n 8228: \".\",\n 8229: \"..\",\n 8230: \"\\\\textellipsis\",\n 8240: \"\\\\textperthousand\",\n 8241: \"\\\\textpertenthousand\",\n 8242: \"'\",\n 8243: \"''\",\n 8244: \"'''\",\n 8245: \"\\\\ensuremath{\\\\backprime}\",\n 8249: \"\\\\guilsinglleft\",\n 8250: \"\\\\guilsinglright\",\n 8251: \"\\\\textreferencemark\",\n 8253: \"\\\\textinterrobang\",\n 8260: \"\\\\textfractionsolidus\",\n 8270: \"\\\\textasteriskcentered\",\n 8274: \"\\\\textdiscount\",\n 8279: \"''''\",\n 8287: \"\\\\hspace{0.22em}\",\n 8288: \"\\\\nolinebreak\",\n 8289: \"\",\n 8353: \"\\\\textcolonmonetary\",\n 8356: \"\\\\textlira\",\n 8358: \"\\\\textnaira\",\n 8361: \"\\\\textwon\",\n 8363: \"\\\\textdong\",\n 8364: \"\\\\texteuro\",\n 8369: \"\\\\textpeso\",\n 8450: \"\\\\ensuremath{\\\\mathbb{C}}\",\n 8451: \"\\\\textcelsius\",\n 8457: \"\\\\ensuremath{^\\\\circ}F\",\n 8458: \"\\\\ensuremath{g}\",\n 8459: \"\\\\ensuremath{\\\\mathscr{H}}\",\n 8460: \"\\\\ensuremath{\\\\mathfrak{H}}\",\n 8461: \"\\\\ensuremath{\\\\mathbb{H}}\",\n 8462: \"\\\\ensuremath{h}\",\n 8463: \"\\\\ensuremath{\\\\hbar}\",\n 8464: \"\\\\ensuremath{\\\\mathscr{I}}\",\n 8465: \"\\\\ensuremath{\\\\mathfrak{I}}\",\n 8466: \"\\\\ensuremath{\\\\mathscr{L}}\",\n 8467: \"\\\\ensuremath{\\\\ell}\",\n 8469: \"\\\\ensuremath{\\\\mathbb{N}}\",\n 8470: \"\\\\textnumero\",\n 8471: \"\\\\textcircledP\",\n 8472: \"\\\\ensuremath{\\\\wp}\",\n 8473: \"\\\\ensuremath{\\\\mathbb{P}}\",\n 8474: \"\\\\ensuremath{\\\\mathbb{Q}}\",\n 8475: \"\\\\ensuremath{\\\\mathscr{R}}\",\n 8476: \"\\\\ensuremath{\\\\mathfrak{R}}\",\n 8477: \"\\\\ensuremath{\\\\mathbb{R}}\",\n 8478: \"\\\\textrecipe\",\n 8480: \"\\\\textservicemark\",\n 8482: \"\\\\texttrademark\",\n 8484: \"\\\\ensuremath{\\\\mathbb{Z}}\",\n 8486: \"\\\\textohm\",\n 8487: \"\\\\textmho\",\n 8488: \"\\\\ensuremath{\\\\mathfrak{Z}}\",\n 8490: \"K\",\n 8491: \"\\\\r{A}\",\n 8492: \"\\\\ensuremath{\\\\mathscr{B}}\",\n 8493: \"\\\\ensuremath{\\\\mathfrak{C}}\",\n 8494: \"\\\\textestimated\",\n 8495: \"\\\\ensuremath{e}\",\n 8496: \"\\\\ensuremath{\\\\mathscr{E}}\",\n 8497: \"\\\\ensuremath{\\\\mathscr{F}}\",\n 8499: \"\\\\ensuremath{\\\\mathscr{M}}\",\n 8500: \"\\\\ensuremath{o}\",\n 8501: \"\\\\ensuremath{\\\\aleph}\",\n 8502: \"\\\\ensuremath{\\\\beth}\",\n 8503: \"\\\\ensuremath{\\\\gimel}\",\n 8504: \"\\\\ensuremath{\\\\daleth}\",\n 8531: \"\\\\textfrac{1}{3}\",\n 8532: \"\\\\textfrac{2}{3}\",\n 8533: \"\\\\textfrac{1}{5}\",\n 8534: \"\\\\textfrac{2}{5}\",\n 8535: \"\\\\textfrac{3}{5}\",\n 8536: \"\\\\textfrac{4}{5}\",\n 8537: \"\\\\textfrac{1}{6}\",\n 8538: \"\\\\textfrac{5}{6}\",\n 8539: \"\\\\textfrac{1}{8}\",\n 8540: \"\\\\textfrac{3}{8}\",\n 8541: \"\\\\textfrac{5}{8}\",\n 8542: \"\\\\textfrac{7}{8}\",\n 8592: \"\\\\textleftarrow\",\n 8593: \"\\\\textuparrow\",\n 8594: \"\\\\textrightarrow\",\n 8595: \"\\\\textdownarrow\",\n 8596: \"\\\\ensuremath{\\\\leftrightarrow}\",\n 8597: \"\\\\ensuremath{\\\\updownarrow}\",\n 8598: \"\\\\ensuremath{\\\\nwarrow}\",\n 8599: \"\\\\ensuremath{\\\\nearrow}\",\n 8600: \"\\\\ensuremath{\\\\searrow}\",\n 8601: \"\\\\ensuremath{\\\\swarrow}\",\n 8602: \"\\\\ensuremath{\\\\nleftarrow}\",\n 8603: \"\\\\ensuremath{\\\\nrightarrow}\",\n 8604: \"\\\\ensuremath{\\\\arrowwaveleft}\",\n 8605: \"\\\\ensuremath{\\\\arrowwaveright}\",\n 8606: \"\\\\ensuremath{\\\\twoheadleftarrow}\",\n 8608: \"\\\\ensuremath{\\\\twoheadrightarrow}\",\n 8610: \"\\\\ensuremath{\\\\leftarrowtail}\",\n 8611: \"\\\\ensuremath{\\\\rightarrowtail}\",\n 8614: \"\\\\ensuremath{\\\\mapsto}\",\n 8617: \"\\\\ensuremath{\\\\hookleftarrow}\",\n 8618: \"\\\\ensuremath{\\\\hookrightarrow}\",\n 8619: \"\\\\ensuremath{\\\\looparrowleft}\",\n 8620: \"\\\\ensuremath{\\\\looparrowright}\",\n 8621: \"\\\\ensuremath{\\\\leftrightsquigarrow}\",\n 8622: \"\\\\ensuremath{\\\\nleftrightarrow}\",\n 8624: \"\\\\ensuremath{\\\\Lsh}\",\n 8625: \"\\\\ensuremath{\\\\Rsh}\",\n 8630: \"\\\\ensuremath{\\\\curvearrowleft}\",\n 8631: \"\\\\ensuremath{\\\\curvearrowright}\",\n 8634: \"\\\\ensuremath{\\\\circlearrowleft}\",\n 8635: \"\\\\ensuremath{\\\\circlearrowright}\",\n 8636: \"\\\\ensuremath{\\\\leftharpoonup}\",\n 8637: \"\\\\ensuremath{\\\\leftharpoondown}\",\n 8638: \"\\\\ensuremath{\\\\upharpoonright}\",\n 8639: \"\\\\ensuremath{\\\\upharpoonleft}\",\n 8640: \"\\\\ensuremath{\\\\rightharpoonup}\",\n 8641: \"\\\\ensuremath{\\\\rightharpoondown}\",\n 8642: \"\\\\ensuremath{\\\\downharpoonright}\",\n 8643: \"\\\\ensuremath{\\\\downharpoonleft}\",\n 8644: \"\\\\ensuremath{\\\\rightleftarrows}\",\n 8645: \"\\\\ensuremath{\\\\dblarrowupdown}\",\n 8646: \"\\\\ensuremath{\\\\leftrightarrows}\",\n 8647: \"\\\\ensuremath{\\\\leftleftarrows}\",\n 8648: \"\\\\ensuremath{\\\\upuparrows}\",\n 8649: \"\\\\ensuremath{\\\\rightrightarrows}\",\n 8650: \"\\\\ensuremath{\\\\downdownarrows}\",\n 8651: \"\\\\ensuremath{\\\\leftrightharpoons}\",\n 8652: \"\\\\ensuremath{\\\\rightleftharpoons}\",\n 8653: \"\\\\ensuremath{\\\\nLeftarrow}\",\n 8654: \"\\\\ensuremath{\\\\nLeftrightarrow}\",\n 8655: \"\\\\ensuremath{\\\\nRightarrow}\",\n 8656: \"\\\\ensuremath{\\\\Leftarrow}\",\n 8657: \"\\\\ensuremath{\\\\Uparrow}\",\n 8658: \"\\\\ensuremath{\\\\Rightarrow}\",\n 8659: \"\\\\ensuremath{\\\\Downarrow}\",\n 8660: \"\\\\ensuremath{\\\\Leftrightarrow}\",\n 8661: \"\\\\ensuremath{\\\\Updownarrow}\",\n 8666: \"\\\\ensuremath{\\\\Lleftarrow}\",\n 8667: \"\\\\ensuremath{\\\\Rrightarrow}\",\n 8669: \"\\\\ensuremath{\\\\rightsquigarrow}\",\n 8693: \"\\\\ensuremath{\\\\DownArrowUpArrow}\",\n 8704: \"\\\\ensuremath{\\\\forall}\",\n 8705: \"\\\\ensuremath{\\\\complement}\",\n 8706: \"\\\\ensuremath{\\\\partial}\",\n 8707: \"\\\\ensuremath{\\\\exists}\",\n 8708: \"\\\\ensuremath{\\\\nexists}\",\n 8709: \"\\\\ensuremath{\\\\varnothing}\",\n 8710: \"\\\\ensuremath{\\\\Delta}\",\n 8711: \"\\\\ensuremath{\\\\nabla}\",\n 8712: \"\\\\ensuremath{\\\\in}\",\n 8713: \"\\\\ensuremath{\\\\notin}\",\n 8714: \"\\\\ensuremath{\\\\in}\",\n 8715: \"\\\\ensuremath{\\\\ni}\",\n 8716: \"\\\\ensuremath{\\\\not\\\\ni}\",\n 8717: \"\\\\ensuremath{\\\\ni}\",\n 8718: \"\\\\ensuremath{\\\\blacksquare}\",\n 8719: \"\\\\ensuremath{\\\\prod}\",\n 8720: \"\\\\ensuremath{\\\\coprod}\",\n 8721: \"\\\\ensuremath{\\\\sum}\",\n 8722: \"\\\\ensuremath{-}\",\n 8723: \"\\\\ensuremath{\\\\mp}\",\n 8724: \"\\\\ensuremath{\\\\dotplus}\",\n 8725: \"\\\\ensuremath{/}\",\n 8726: \"\\\\ensuremath{\\\\smallsetminus}\",\n 8727: \"\\\\ensuremath{*}\",\n 8728: \"\\\\ensuremath{\\\\circ}\",\n 8729: \"\\\\ensuremath{\\\\bullet}\",\n 8730: \"\\\\ensuremath{\\\\sqrt{}}\",\n 8731: \"\\\\ensuremath{\\\\sqrt[3]{}}\",\n 8732: \"\\\\ensuremath{\\\\sqrt[4]{}}\",\n 8733: \"\\\\ensuremath{\\\\propto}\",\n 8734: \"\\\\ensuremath{\\\\infty}\",\n 8735: \"\\\\ensuremath{\\\\rightangle}\",\n 8736: \"\\\\ensuremath{\\\\angle}\",\n 8737: \"\\\\ensuremath{\\\\measuredangle}\",\n 8738: \"\\\\ensuremath{\\\\sphericalangle}\",\n 8739: \"\\\\ensuremath{\\\\mid}\",\n 8740: \"\\\\ensuremath{\\\\nmid}\",\n 8741: \"\\\\ensuremath{\\\\parallel}\",\n 8742: \"\\\\ensuremath{\\\\nparallel}\",\n 8743: \"\\\\ensuremath{\\\\wedge}\",\n 8744: \"\\\\ensuremath{\\\\vee}\",\n 8745: \"\\\\ensuremath{\\\\cap}\",\n 8746: \"\\\\ensuremath{\\\\cup}\",\n 8747: \"\\\\ensuremath{\\\\int}\",\n 8748: \"\\\\ensuremath{\\\\iint}\",\n 8749: \"\\\\ensuremath{\\\\iiint}\",\n 8750: \"\\\\ensuremath{\\\\oint}\",\n 8751: \"\\\\ensuremath{\\\\surfintegral}\",\n 8752: \"\\\\ensuremath{\\\\volintegral}\",\n 8753: \"\\\\ensuremath{\\\\clwintegral}\",\n 8756: \"\\\\ensuremath{\\\\therefore}\",\n 8757: \"\\\\ensuremath{\\\\because}\",\n 8758: \"\\\\ensuremath{:}\",\n 8759: \"\\\\ensuremath{::}\",\n 8762: \"\\\\ensuremath{\\\\mathbin{{:}\\\\!\\\\!{-}\\\\!\\\\!{:}}}\",\n 8763: \"\\\\ensuremath{\\\\homothetic}\",\n 8764: \"\\\\ensuremath{\\\\sim}\",\n 8765: \"\\\\ensuremath{\\\\backsim}\",\n 8766: \"\\\\ensuremath{\\\\lazysinv}\",\n 8768: \"\\\\ensuremath{\\\\wr}\",\n 8769: \"\\\\ensuremath{\\\\not\\\\sim}\",\n 8771: \"\\\\ensuremath{\\\\simeq}\",\n 8772: \"\\\\ensuremath{\\\\not\\\\simeq}\",\n 8773: \"\\\\ensuremath{\\\\cong}\",\n 8774: \"\\\\ensuremath{\\\\approxnotequal}\",\n 8775: \"\\\\ensuremath{\\\\not\\\\cong}\",\n 8776: \"\\\\ensuremath{\\\\approx}\",\n 8777: \"\\\\ensuremath{\\\\not\\\\approx}\",\n 8778: \"\\\\ensuremath{\\\\approxeq}\",\n 8779: \"\\\\ensuremath{\\\\tildetrpl}\",\n 8780: \"\\\\ensuremath{\\\\allequal}\",\n 8781: \"\\\\ensuremath{\\\\asymp}\",\n 8782: \"\\\\ensuremath{\\\\Bumpeq}\",\n 8783: \"\\\\ensuremath{\\\\bumpeq}\",\n 8784: \"\\\\ensuremath{\\\\doteq}\",\n 8785: \"\\\\ensuremath{\\\\doteqdot}\",\n 8786: \"\\\\ensuremath{\\\\fallingdotseq}\",\n 8787: \"\\\\ensuremath{\\\\risingdotseq}\",\n 8788: \"\\\\ensuremath{:=}\",\n 8789: \"\\\\ensuremath{=:}\",\n 8790: \"\\\\ensuremath{\\\\eqcirc}\",\n 8791: \"\\\\ensuremath{\\\\circeq}\",\n 8793: \"\\\\ensuremath{\\\\estimates}\",\n 8795: \"\\\\ensuremath{\\\\starequal}\",\n 8796: \"\\\\ensuremath{\\\\triangleq}\",\n 8800: \"\\\\ensuremath{\\\\neq}\",\n 8801: \"\\\\ensuremath{\\\\equiv}\",\n 8802: \"\\\\ensuremath{\\\\not\\\\equiv}\",\n 8804: \"\\\\ensuremath{\\\\leq}\",\n 8805: \"\\\\ensuremath{\\\\geq}\",\n 8806: \"\\\\ensuremath{\\\\leqq}\",\n 8807: \"\\\\ensuremath{\\\\geqq}\",\n 8808: \"\\\\ensuremath{\\\\lneqq}\",\n 8809: \"\\\\ensuremath{\\\\gneqq}\",\n 8810: \"\\\\ensuremath{\\\\ll}\",\n 8811: \"\\\\ensuremath{\\\\gg}\",\n 8812: \"\\\\ensuremath{\\\\between}\",\n 8813: \"\\\\ensuremath{\\\\not\\\\kern-0.3em\\\\times}\",\n 8814: \"\\\\ensuremath{\\\\nless}\",\n 8815: \"\\\\ensuremath{\\\\ngtr}\",\n 8816: \"\\\\ensuremath{\\\\nleq}\",\n 8817: \"\\\\ensuremath{\\\\ngeq}\",\n 8818: \"\\\\ensuremath{\\\\lesssim}\",\n 8819: \"\\\\ensuremath{\\\\gtrsim}\",\n 8820: \"\\\\ensuremath{\\\\not\\\\lesssim}\",\n 8821: \"\\\\ensuremath{\\\\not\\\\gtrsim}\",\n 8822: \"\\\\ensuremath{\\\\lessgtr}\",\n 8823: \"\\\\ensuremath{\\\\gtrless}\",\n 8824: \"\\\\ensuremath{\\\\notlessgreater}\",\n 8825: \"\\\\ensuremath{\\\\notgreaterless}\",\n 8826: \"\\\\ensuremath{\\\\prec}\",\n 8827: \"\\\\ensuremath{\\\\succ}\",\n 8828: \"\\\\ensuremath{\\\\preceq}\",\n 8829: \"\\\\ensuremath{\\\\succeq}\",\n 8830: \"\\\\ensuremath{\\\\precsim}\",\n 8831: \"\\\\ensuremath{\\\\succsim}\",\n 8832: \"\\\\ensuremath{\\\\nprec}\",\n 8833: \"\\\\ensuremath{\\\\nsucc}\",\n 8834: \"\\\\ensuremath{\\\\subset}\",\n 8835: \"\\\\ensuremath{\\\\supset}\",\n 8836: \"\\\\ensuremath{\\\\not\\\\subset}\",\n 8837: \"\\\\ensuremath{\\\\not\\\\supset}\",\n 8838: \"\\\\ensuremath{\\\\subseteq}\",\n 8839: \"\\\\ensuremath{\\\\supseteq}\",\n 8840: \"\\\\ensuremath{\\\\nsubseteq}\",\n 8841: \"\\\\ensuremath{\\\\nsupseteq}\",\n 8842: \"\\\\ensuremath{\\\\subsetneq}\",\n 8843: \"\\\\ensuremath{\\\\supsetneq}\",\n 8846: \"\\\\ensuremath{\\\\uplus}\",\n 8847: \"\\\\ensuremath{\\\\sqsubset}\",\n 8848: \"\\\\ensuremath{\\\\sqsupset}\",\n 8849: \"\\\\ensuremath{\\\\sqsubseteq}\",\n 8850: \"\\\\ensuremath{\\\\sqsupseteq}\",\n 8851: \"\\\\ensuremath{\\\\sqcap}\",\n 8852: \"\\\\ensuremath{\\\\sqcup}\",\n 8853: \"\\\\ensuremath{\\\\oplus}\",\n 8854: \"\\\\ensuremath{\\\\ominus}\",\n 8855: \"\\\\ensuremath{\\\\otimes}\",\n 8856: \"\\\\ensuremath{\\\\oslash}\",\n 8857: \"\\\\ensuremath{\\\\odot}\",\n 8858: \"\\\\ensuremath{\\\\circledcirc}\",\n 8859: \"\\\\ensuremath{\\\\circledast}\",\n 8861: \"\\\\ensuremath{\\\\circleddash}\",\n 8862: \"\\\\ensuremath{\\\\boxplus}\",\n 8863: \"\\\\ensuremath{\\\\boxminus}\",\n 8864: \"\\\\ensuremath{\\\\boxtimes}\",\n 8865: \"\\\\ensuremath{\\\\boxdot}\",\n 8866: \"\\\\ensuremath{\\\\vdash}\",\n 8867: \"\\\\ensuremath{\\\\dashv}\",\n 8868: \"\\\\ensuremath{\\\\top}\",\n 8869: \"\\\\ensuremath{\\\\perp}\",\n 8871: \"\\\\ensuremath{\\\\truestate}\",\n 8872: \"\\\\ensuremath{\\\\forcesextra}\",\n 8873: \"\\\\ensuremath{\\\\Vdash}\",\n 8874: \"\\\\ensuremath{\\\\Vvdash}\",\n 8875: \"\\\\ensuremath{\\\\VDash}\",\n 8876: \"\\\\ensuremath{\\\\nvdash}\",\n 8877: \"\\\\ensuremath{\\\\nvDash}\",\n 8878: \"\\\\ensuremath{\\\\nVdash}\",\n 8879: \"\\\\ensuremath{\\\\nVDash}\",\n 8882: \"\\\\ensuremath{\\\\vartriangleleft}\",\n 8883: \"\\\\ensuremath{\\\\vartriangleright}\",\n 8884: \"\\\\ensuremath{\\\\trianglelefteq}\",\n 8885: \"\\\\ensuremath{\\\\trianglerighteq}\",\n 8886: \"\\\\ensuremath{\\\\original}\",\n 8887: \"\\\\ensuremath{\\\\image}\",\n 8888: \"\\\\ensuremath{\\\\multimap}\",\n 8889: \"\\\\ensuremath{\\\\hermitconjmatrix}\",\n 8890: \"\\\\ensuremath{\\\\intercal}\",\n 8891: \"\\\\ensuremath{\\\\veebar}\",\n 8894: \"\\\\ensuremath{\\\\rightanglearc}\",\n 8896: \"\\\\ensuremath{\\\\bigwedge}\",\n 8897: \"\\\\ensuremath{\\\\bigvee}\",\n 8898: \"\\\\ensuremath{\\\\bigcap}\",\n 8899: \"\\\\ensuremath{\\\\bigcup}\",\n 8900: \"\\\\ensuremath{\\\\diamond}\",\n 8901: \"\\\\ensuremath{\\\\cdot}\",\n 8902: \"\\\\ensuremath{\\\\star}\",\n 8903: \"\\\\ensuremath{\\\\divideontimes}\",\n 8904: \"\\\\ensuremath{\\\\bowtie}\",\n 8905: \"\\\\ensuremath{\\\\ltimes}\",\n 8906: \"\\\\ensuremath{\\\\rtimes}\",\n 8907: \"\\\\ensuremath{\\\\leftthreetimes}\",\n 8908: \"\\\\ensuremath{\\\\rightthreetimes}\",\n 8909: \"\\\\ensuremath{\\\\backsimeq}\",\n 8910: \"\\\\ensuremath{\\\\curlyvee}\",\n 8911: \"\\\\ensuremath{\\\\curlywedge}\",\n 8912: \"\\\\ensuremath{\\\\Subset}\",\n 8913: \"\\\\ensuremath{\\\\Supset}\",\n 8914: \"\\\\ensuremath{\\\\Cap}\",\n 8915: \"\\\\ensuremath{\\\\Cup}\",\n 8916: \"\\\\ensuremath{\\\\pitchfork}\",\n 8918: \"\\\\ensuremath{\\\\lessdot}\",\n 8919: \"\\\\ensuremath{\\\\gtrdot}\",\n 8920: \"\\\\ensuremath{\\\\verymuchless}\",\n 8921: \"\\\\ensuremath{\\\\verymuchgreater}\",\n 8922: \"\\\\ensuremath{\\\\lesseqgtr}\",\n 8923: \"\\\\ensuremath{\\\\gtreqless}\",\n 8926: \"\\\\ensuremath{\\\\curlyeqprec}\",\n 8927: \"\\\\ensuremath{\\\\curlyeqsucc}\",\n 8930: \"\\\\ensuremath{\\\\not\\\\sqsubseteq}\",\n 8931: \"\\\\ensuremath{\\\\not\\\\sqsupseteq}\",\n 8934: \"\\\\ensuremath{\\\\lnsim}\",\n 8935: \"\\\\ensuremath{\\\\gnsim}\",\n 8936: \"\\\\ensuremath{\\\\precedesnotsimilar}\",\n 8937: \"\\\\ensuremath{\\\\succnsim}\",\n 8938: \"\\\\ensuremath{\\\\ntriangleleft}\",\n 8939: \"\\\\ensuremath{\\\\ntriangleright}\",\n 8940: \"\\\\ensuremath{\\\\ntrianglelefteq}\",\n 8941: \"\\\\ensuremath{\\\\ntrianglerighteq}\",\n 8942: \"\\\\ensuremath{\\\\vdots}\",\n 8943: \"\\\\ensuremath{\\\\cdots}\",\n 8944: \"\\\\ensuremath{\\\\udots}\",\n 8945: \"\\\\ensuremath{\\\\ddots}\",\n 8965: \"\\\\ensuremath{\\\\barwedge}\",\n 8966: \"\\\\ensuremath{\\\\varperspcorrespond}\",\n 8968: \"\\\\ensuremath{\\\\lceil}\",\n 8969: \"\\\\ensuremath{\\\\rceil}\",\n 8970: \"\\\\ensuremath{\\\\lfloor}\",\n 8971: \"\\\\ensuremath{\\\\rfloor}\",\n 8981: \"\\\\ensuremath{\\\\recorder}\",\n 8982: \"\\\\ensuremath{\\\\mathchar\\\"2208}\",\n 8988: \"\\\\ensuremath{\\\\ulcorner}\",\n 8989: \"\\\\ensuremath{\\\\urcorner}\",\n 8990: \"\\\\ensuremath{\\\\llcorner}\",\n 8991: \"\\\\ensuremath{\\\\lrcorner}\",\n 8994: \"\\\\ensuremath{\\\\frown}\",\n 8995: \"\\\\ensuremath{\\\\smile}\",\n 9001: \"\\\\textlangle\",\n 9002: \"\\\\textrangle\",\n 9136: \"\\\\ensuremath{\\\\lmoustache}\",\n 9137: \"\\\\ensuremath{\\\\rmoustache}\",\n 9250: \"\\\\textblank\",\n 9251: \"\\\\textvisiblespace\",\n 9632: \"\\\\ensuremath{\\\\blacksquare}\",\n 9633: \"\\\\ensuremath{\\\\square}\",\n 9642: \"{\\\\small\\\\ensuremath{\\\\blacksquare}}\",\n 9645: \"\\\\fbox{~~}\",\n 9651: \"\\\\ensuremath{\\\\bigtriangleup}\",\n 9652: \"\\\\ensuremath{\\\\blacktriangle}\",\n 9653: \"\\\\ensuremath{\\\\vartriangle}\",\n 9656: \"\\\\ensuremath{\\\\blacktriangleright}\",\n 9657: \"\\\\ensuremath{\\\\triangleright}\",\n 9661: \"\\\\ensuremath{\\\\bigtriangledown}\",\n 9662: \"\\\\ensuremath{\\\\blacktriangledown}\",\n 9663: \"\\\\ensuremath{\\\\triangledown}\",\n 9666: \"\\\\ensuremath{\\\\blacktriangleleft}\",\n 9667: \"\\\\ensuremath{\\\\triangleleft}\",\n 9674: \"\\\\ensuremath{\\\\lozenge}\",\n 9675: \"\\\\ensuremath{\\\\bigcirc}\",\n 9702: \"\\\\textopenbullet\",\n 9711: \"\\\\textbigcircle\",\n 9826: \"\\\\ensuremath{\\\\diamond}\",\n 9833: \"\\\\quarternote\",\n 9834: \"\\\\textmusicalnote\",\n 9837: \"\\\\flat\",\n 9838: \"\\\\natural\",\n 9839: \"\\\\sharp\",\n 10216: \"\\\\ensuremath{\\\\langle}\",\n 10217: \"\\\\ensuremath{\\\\rangle}\",\n 10229: \"\\\\ensuremath{\\\\longleftarrow}\",\n 10230: \"\\\\ensuremath{\\\\longrightarrow}\",\n 10231: \"\\\\ensuremath{\\\\longleftrightarrow}\",\n 10232: \"\\\\ensuremath{\\\\Longleftarrow}\",\n 10233: \"\\\\ensuremath{\\\\Longrightarrow}\",\n 10234: \"\\\\ensuremath{\\\\Longleftrightarrow}\",\n 10236: \"\\\\ensuremath{\\\\longmapsto}\",\n 10239: \"\\\\ensuremath{\\\\sim\\\\joinrel\\\\leadsto}\",\n 10643: \"\\\\ensuremath{<\\\\kern-0.58em(}\",\n 10731: \"\\\\ensuremath{\\\\blacklozenge}\",\n 10767: \"\\\\ensuremath{\\\\clockoint}\",\n 10774: \"\\\\ensuremath{\\\\sqrint}\",\n 10815: \"\\\\ensuremath{\\\\amalg}\",\n 10862: \"\\\\ensuremath{\\\\stackrel{*}{=}}\",\n 10869: \"==\",\n 10877: \"\\\\ensuremath{\\\\leqslant}\",\n 10878: \"\\\\ensuremath{\\\\geqslant}\",\n 10885: \"\\\\ensuremath{\\\\lessapprox}\",\n 10886: \"\\\\ensuremath{\\\\gtrapprox}\",\n 10887: \"\\\\ensuremath{\\\\lneq}\",\n 10888: \"\\\\ensuremath{\\\\gneq}\",\n 10889: \"\\\\ensuremath{\\\\lnapprox}\",\n 10890: \"\\\\ensuremath{\\\\gnapprox}\",\n 10891: \"\\\\ensuremath{\\\\lesseqqgtr}\",\n 10892: \"\\\\ensuremath{\\\\gtreqqless}\",\n 10901: \"\\\\ensuremath{\\\\eqslantless}\",\n 10902: \"\\\\ensuremath{\\\\eqslantgtr}\",\n 10927: \"\\\\ensuremath{\\\\preceq}\",\n 10928: \"\\\\ensuremath{\\\\succeq}\",\n 10933: \"\\\\ensuremath{\\\\precneqq}\",\n 10934: \"\\\\ensuremath{\\\\succneqq}\",\n 10935: \"\\\\ensuremath{\\\\precapprox}\",\n 10936: \"\\\\ensuremath{\\\\succapprox}\",\n 10937: \"\\\\ensuremath{\\\\precnapprox}\",\n 10938: \"\\\\ensuremath{\\\\succnapprox}\",\n 10949: \"\\\\ensuremath{\\\\subseteqq}\",\n 10950: \"\\\\ensuremath{\\\\supseteqq}\",\n 10955: \"\\\\ensuremath{\\\\subsetneqq}\",\n 10956: \"\\\\ensuremath{\\\\supsetneqq}\",\n 11005: \"\\\\ensuremath{{{/}\\\\!\\\\!{/}}}\",\n 12296: \"\\\\ensuremath{\\\\langle}\",\n 12297: \"\\\\ensuremath{\\\\rangle}\",\n 64256: \"ff\",\n 64257: \"fi\",\n 64258: \"fl\",\n 64259: \"ffi\",\n 64260: \"ffl\",\n 119808: \"\\\\ensuremath{\\\\mathbf{A}}\",\n 119809: \"\\\\ensuremath{\\\\mathbf{B}}\",\n 119810: \"\\\\ensuremath{\\\\mathbf{C}}\",\n 119811: \"\\\\ensuremath{\\\\mathbf{D}}\",\n 119812: \"\\\\ensuremath{\\\\mathbf{E}}\",\n 119813: \"\\\\ensuremath{\\\\mathbf{F}}\",\n 119814: \"\\\\ensuremath{\\\\mathbf{G}}\",\n 119815: \"\\\\ensuremath{\\\\mathbf{H}}\",\n 119816: \"\\\\ensuremath{\\\\mathbf{I}}\",\n 119817: \"\\\\ensuremath{\\\\mathbf{J}}\",\n 119818: \"\\\\ensuremath{\\\\mathbf{K}}\",\n 119819: \"\\\\ensuremath{\\\\mathbf{L}}\",\n 119820: \"\\\\ensuremath{\\\\mathbf{M}}\",\n 119821: \"\\\\ensuremath{\\\\mathbf{N}}\",\n 119822: \"\\\\ensuremath{\\\\mathbf{O}}\",\n 119823: \"\\\\ensuremath{\\\\mathbf{P}}\",\n 119824: \"\\\\ensuremath{\\\\mathbf{Q}}\",\n 119825: \"\\\\ensuremath{\\\\mathbf{R}}\",\n 119826: \"\\\\ensuremath{\\\\mathbf{S}}\",\n 119827: \"\\\\ensuremath{\\\\mathbf{T}}\",\n 119828: \"\\\\ensuremath{\\\\mathbf{U}}\",\n 119829: \"\\\\ensuremath{\\\\mathbf{V}}\",\n 119830: \"\\\\ensuremath{\\\\mathbf{W}}\",\n 119831: \"\\\\ensuremath{\\\\mathbf{X}}\",\n 119832: \"\\\\ensuremath{\\\\mathbf{Y}}\",\n 119833: \"\\\\ensuremath{\\\\mathbf{Z}}\",\n 119834: \"\\\\ensuremath{\\\\mathbf{a}}\",\n 119835: \"\\\\ensuremath{\\\\mathbf{b}}\",\n 119836: \"\\\\ensuremath{\\\\mathbf{c}}\",\n 119837: \"\\\\ensuremath{\\\\mathbf{d}}\",\n 119838: \"\\\\ensuremath{\\\\mathbf{e}}\",\n 119839: \"\\\\ensuremath{\\\\mathbf{f}}\",\n 119840: \"\\\\ensuremath{\\\\mathbf{g}}\",\n 119841: \"\\\\ensuremath{\\\\mathbf{h}}\",\n 119842: \"\\\\ensuremath{\\\\mathbf{i}}\",\n 119843: \"\\\\ensuremath{\\\\mathbf{j}}\",\n 119844: \"\\\\ensuremath{\\\\mathbf{k}}\",\n 119845: \"\\\\ensuremath{\\\\mathbf{l}}\",\n 119846: \"\\\\ensuremath{\\\\mathbf{m}}\",\n 119847: \"\\\\ensuremath{\\\\mathbf{n}}\",\n 119848: \"\\\\ensuremath{\\\\mathbf{o}}\",\n 119849: \"\\\\ensuremath{\\\\mathbf{p}}\",\n 119850: \"\\\\ensuremath{\\\\mathbf{q}}\",\n 119851: \"\\\\ensuremath{\\\\mathbf{r}}\",\n 119852: \"\\\\ensuremath{\\\\mathbf{s}}\",\n 119853: \"\\\\ensuremath{\\\\mathbf{t}}\",\n 119854: \"\\\\ensuremath{\\\\mathbf{u}}\",\n 119855: \"\\\\ensuremath{\\\\mathbf{v}}\",\n 119856: \"\\\\ensuremath{\\\\mathbf{w}}\",\n 119857: \"\\\\ensuremath{\\\\mathbf{x}}\",\n 119858: \"\\\\ensuremath{\\\\mathbf{y}}\",\n 119859: \"\\\\ensuremath{\\\\mathbf{z}}\",\n 119860: \"\\\\ensuremath{\\\\mathit{A}}\",\n 119861: \"\\\\ensuremath{\\\\mathit{B}}\",\n 119862: \"\\\\ensuremath{\\\\mathit{C}}\",\n 119863: \"\\\\ensuremath{\\\\mathit{D}}\",\n 119864: \"\\\\ensuremath{\\\\mathit{E}}\",\n 119865: \"\\\\ensuremath{\\\\mathit{F}}\",\n 119866: \"\\\\ensuremath{\\\\mathit{G}}\",\n 119867: \"\\\\ensuremath{\\\\mathit{H}}\",\n 119868: \"\\\\ensuremath{\\\\mathit{I}}\",\n 119869: \"\\\\ensuremath{\\\\mathit{J}}\",\n 119870: \"\\\\ensuremath{\\\\mathit{K}}\",\n 119871: \"\\\\ensuremath{\\\\mathit{L}}\",\n 119872: \"\\\\ensuremath{\\\\mathit{M}}\",\n 119873: \"\\\\ensuremath{\\\\mathit{N}}\",\n 119874: \"\\\\ensuremath{\\\\mathit{O}}\",\n 119875: \"\\\\ensuremath{\\\\mathit{P}}\",\n 119876: \"\\\\ensuremath{\\\\mathit{Q}}\",\n 119877: \"\\\\ensuremath{\\\\mathit{R}}\",\n 119878: \"\\\\ensuremath{\\\\mathit{S}}\",\n 119879: \"\\\\ensuremath{\\\\mathit{T}}\",\n 119880: \"\\\\ensuremath{\\\\mathit{U}}\",\n 119881: \"\\\\ensuremath{\\\\mathit{V}}\",\n 119882: \"\\\\ensuremath{\\\\mathit{W}}\",\n 119883: \"\\\\ensuremath{\\\\mathit{X}}\",\n 119884: \"\\\\ensuremath{\\\\mathit{Y}}\",\n 119885: \"\\\\ensuremath{\\\\mathit{Z}}\",\n 119886: \"\\\\ensuremath{\\\\mathit{a}}\",\n 119887: \"\\\\ensuremath{\\\\mathit{b}}\",\n 119888: \"\\\\ensuremath{\\\\mathit{c}}\",\n 119889: \"\\\\ensuremath{\\\\mathit{d}}\",\n 119890: \"\\\\ensuremath{\\\\mathit{e}}\",\n 119891: \"\\\\ensuremath{\\\\mathit{f}}\",\n 119892: \"\\\\ensuremath{\\\\mathit{g}}\",\n 119893: \"\\\\ensuremath{\\\\mathit{h}}\",\n 119894: \"\\\\ensuremath{\\\\mathit{i}}\",\n 119895: \"\\\\ensuremath{\\\\mathit{j}}\",\n 119896: \"\\\\ensuremath{\\\\mathit{k}}\",\n 119897: \"\\\\ensuremath{\\\\mathit{l}}\",\n 119898: \"\\\\ensuremath{\\\\mathit{m}}\",\n 119899: \"\\\\ensuremath{\\\\mathit{n}}\",\n 119900: \"\\\\ensuremath{\\\\mathit{o}}\",\n 119901: \"\\\\ensuremath{\\\\mathit{p}}\",\n 119902: \"\\\\ensuremath{\\\\mathit{q}}\",\n 119903: \"\\\\ensuremath{\\\\mathit{r}}\",\n 119904: \"\\\\ensuremath{\\\\mathit{s}}\",\n 119905: \"\\\\ensuremath{\\\\mathit{t}}\",\n 119906: \"\\\\ensuremath{\\\\mathit{u}}\",\n 119907: \"\\\\ensuremath{\\\\mathit{v}}\",\n 119908: \"\\\\ensuremath{\\\\mathit{w}}\",\n 119909: \"\\\\ensuremath{\\\\mathit{x}}\",\n 119910: \"\\\\ensuremath{\\\\mathit{y}}\",\n 119911: \"\\\\ensuremath{\\\\mathit{z}}\",\n 119912: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{A}}}\",\n 119913: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{B}}}\",\n 119914: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{C}}}\",\n 119915: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{D}}}\",\n 119916: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{E}}}\",\n 119917: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{F}}}\",\n 119918: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{G}}}\",\n 119919: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{H}}}\",\n 119920: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{I}}}\",\n 119921: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{J}}}\",\n 119922: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{K}}}\",\n 119923: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{L}}}\",\n 119924: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{M}}}\",\n 119925: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{N}}}\",\n 119926: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{O}}}\",\n 119927: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{P}}}\",\n 119928: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{Q}}}\",\n 119929: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{R}}}\",\n 119930: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{S}}}\",\n 119931: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{T}}}\",\n 119932: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{U}}}\",\n 119933: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{V}}}\",\n 119934: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{W}}}\",\n 119935: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{X}}}\",\n 119936: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{Y}}}\",\n 119937: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{Z}}}\",\n 119938: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{a}}}\",\n 119939: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{b}}}\",\n 119940: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{c}}}\",\n 119941: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{d}}}\",\n 119942: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{e}}}\",\n 119943: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{f}}}\",\n 119944: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{g}}}\",\n 119945: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{h}}}\",\n 119946: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{i}}}\",\n 119947: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{j}}}\",\n 119948: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{k}}}\",\n 119949: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{l}}}\",\n 119950: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{m}}}\",\n 119951: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{n}}}\",\n 119952: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{o}}}\",\n 119953: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{p}}}\",\n 119954: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{q}}}\",\n 119955: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{r}}}\",\n 119956: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{s}}}\",\n 119957: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{t}}}\",\n 119958: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{u}}}\",\n 119959: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{v}}}\",\n 119960: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{w}}}\",\n 119961: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{x}}}\",\n 119962: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{y}}}\",\n 119963: \"\\\\ensuremath{\\\\boldsymbol{\\\\mathit{z}}}\",\n 119964: \"\\\\ensuremath{\\\\mathscr{A}}\",\n 119965: \"\\\\ensuremath{\\\\mathscr{B}}\",\n 119966: \"\\\\ensuremath{\\\\mathscr{C}}\",\n 119967: \"\\\\ensuremath{\\\\mathscr{D}}\",\n 119968: \"\\\\ensuremath{\\\\mathscr{E}}\",\n 119969: \"\\\\ensuremath{\\\\mathscr{F}}\",\n 119970: \"\\\\ensuremath{\\\\mathscr{G}}\",\n 119971: \"\\\\ensuremath{\\\\mathscr{H}}\",\n 119972: \"\\\\ensuremath{\\\\mathscr{I}}\",\n 119973: \"\\\\ensuremath{\\\\mathscr{J}}\",\n 119974: \"\\\\ensuremath{\\\\mathscr{K}}\",\n 119975: \"\\\\ensuremath{\\\\mathscr{L}}\",\n 119976: \"\\\\ensuremath{\\\\mathscr{M}}\",\n 119977: \"\\\\ensuremath{\\\\mathscr{N}}\",\n 119978: \"\\\\ensuremath{\\\\mathscr{O}}\",\n 119979: \"\\\\ensuremath{\\\\mathscr{P}}\",\n 119980: \"\\\\ensuremath{\\\\mathscr{Q}}\",\n 119981: \"\\\\ensuremath{\\\\mathscr{R}}\",\n 119982: \"\\\\ensuremath{\\\\mathscr{S}}\",\n 119983: \"\\\\ensuremath{\\\\mathscr{T}}\",\n 119984: \"\\\\ensuremath{\\\\mathscr{U}}\",\n 119985: \"\\\\ensuremath{\\\\mathscr{V}}\",\n 119986: \"\\\\ensuremath{\\\\mathscr{W}}\",\n 119987: \"\\\\ensuremath{\\\\mathscr{X}}\",\n 119988: \"\\\\ensuremath{\\\\mathscr{Y}}\",\n 119989: \"\\\\ensuremath{\\\\mathscr{Z}}\",\n 119990: \"\\\\ensuremath{\\\\mathscr{a}}\",\n 119991: \"\\\\ensuremath{\\\\mathscr{b}}\",\n 119992: \"\\\\ensuremath{\\\\mathscr{c}}\",\n 119993: \"\\\\ensuremath{\\\\mathscr{d}}\",\n 119995: \"\\\\ensuremath{\\\\mathscr{f}}\",\n 119997: \"\\\\ensuremath{\\\\mathscr{h}}\",\n 119998: \"\\\\ensuremath{\\\\mathscr{i}}\",\n 119999: \"\\\\ensuremath{\\\\mathscr{j}}\",\n 120000: \"\\\\ensuremath{\\\\mathscr{k}}\",\n 120001: \"\\\\ensuremath{\\\\mathscr{l}}\",\n 120002: \"\\\\ensuremath{\\\\mathscr{m}}\",\n 120003: \"\\\\ensuremath{\\\\mathscr{n}}\",\n 120005: \"\\\\ensuremath{\\\\mathscr{p}}\",\n 120006: \"\\\\ensuremath{\\\\mathscr{q}}\",\n 120007: \"\\\\ensuremath{\\\\mathscr{r}}\",\n 120008: \"\\\\ensuremath{\\\\mathscr{s}}\",\n 120009: \"\\\\ensuremath{\\\\mathscr{t}}\",\n 120010: \"\\\\ensuremath{\\\\mathscr{u}}\",\n 120011: \"\\\\ensuremath{\\\\mathscr{v}}\",\n 120012: \"\\\\ensuremath{\\\\mathscr{w}}\",\n 120013: \"\\\\ensuremath{\\\\mathscr{x}}\",\n 120014: \"\\\\ensuremath{\\\\mathscr{y}}\",\n 120015: \"\\\\ensuremath{\\\\mathscr{z}}\",\n 120068: \"\\\\ensuremath{\\\\mathfrak{A}}\",\n 120069: \"\\\\ensuremath{\\\\mathfrak{B}}\",\n 120070: \"\\\\ensuremath{\\\\mathfrak{C}}\",\n 120071: \"\\\\ensuremath{\\\\mathfrak{D}}\",\n 120072: \"\\\\ensuremath{\\\\mathfrak{E}}\",\n 120073: \"\\\\ensuremath{\\\\mathfrak{F}}\",\n 120074: \"\\\\ensuremath{\\\\mathfrak{G}}\",\n 120075: \"\\\\ensuremath{\\\\mathfrak{H}}\",\n 120076: \"\\\\ensuremath{\\\\mathfrak{I}}\",\n 120077: \"\\\\ensuremath{\\\\mathfrak{J}}\",\n 120078: \"\\\\ensuremath{\\\\mathfrak{K}}\",\n 120079: \"\\\\ensuremath{\\\\mathfrak{L}}\",\n 120080: \"\\\\ensuremath{\\\\mathfrak{M}}\",\n 120081: \"\\\\ensuremath{\\\\mathfrak{N}}\",\n 120082: \"\\\\ensuremath{\\\\mathfrak{O}}\",\n 120083: \"\\\\ensuremath{\\\\mathfrak{P}}\",\n 120084: \"\\\\ensuremath{\\\\mathfrak{Q}}\",\n 120085: \"\\\\ensuremath{\\\\mathfrak{R}}\",\n 120086: \"\\\\ensuremath{\\\\mathfrak{S}}\",\n 120087: \"\\\\ensuremath{\\\\mathfrak{T}}\",\n 120088: \"\\\\ensuremath{\\\\mathfrak{U}}\",\n 120089: \"\\\\ensuremath{\\\\mathfrak{V}}\",\n 120090: \"\\\\ensuremath{\\\\mathfrak{W}}\",\n 120091: \"\\\\ensuremath{\\\\mathfrak{X}}\",\n 120092: \"\\\\ensuremath{\\\\mathfrak{Y}}\",\n 120093: \"\\\\ensuremath{\\\\mathfrak{Z}}\",\n 120094: \"\\\\ensuremath{\\\\mathfrak{a}}\",\n 120095: \"\\\\ensuremath{\\\\mathfrak{b}}\",\n 120096: \"\\\\ensuremath{\\\\mathfrak{c}}\",\n 120097: \"\\\\ensuremath{\\\\mathfrak{d}}\",\n 120098: \"\\\\ensuremath{\\\\mathfrak{e}}\",\n 120099: \"\\\\ensuremath{\\\\mathfrak{f}}\",\n 120100: \"\\\\ensuremath{\\\\mathfrak{g}}\",\n 120101: \"\\\\ensuremath{\\\\mathfrak{h}}\",\n 120102: \"\\\\ensuremath{\\\\mathfrak{i}}\",\n 120103: \"\\\\ensuremath{\\\\mathfrak{j}}\",\n 120104: \"\\\\ensuremath{\\\\mathfrak{k}}\",\n 120105: \"\\\\ensuremath{\\\\mathfrak{l}}\",\n 120106: \"\\\\ensuremath{\\\\mathfrak{m}}\",\n 120107: \"\\\\ensuremath{\\\\mathfrak{n}}\",\n 120108: \"\\\\ensuremath{\\\\mathfrak{o}}\",\n 120109: \"\\\\ensuremath{\\\\mathfrak{p}}\",\n 120110: \"\\\\ensuremath{\\\\mathfrak{q}}\",\n 120111: \"\\\\ensuremath{\\\\mathfrak{r}}\",\n 120112: \"\\\\ensuremath{\\\\mathfrak{s}}\",\n 120113: \"\\\\ensuremath{\\\\mathfrak{t}}\",\n 120114: \"\\\\ensuremath{\\\\mathfrak{u}}\",\n 120115: \"\\\\ensuremath{\\\\mathfrak{v}}\",\n 120116: \"\\\\ensuremath{\\\\mathfrak{w}}\",\n 120117: \"\\\\ensuremath{\\\\mathfrak{x}}\",\n 120118: \"\\\\ensuremath{\\\\mathfrak{y}}\",\n 120119: \"\\\\ensuremath{\\\\mathfrak{z}}\",\n 120120: \"\\\\ensuremath{\\\\mathbb{A}}\",\n 120121: \"\\\\ensuremath{\\\\mathbb{B}}\",\n 120122: \"\\\\ensuremath{\\\\mathbb{C}}\",\n 120123: \"\\\\ensuremath{\\\\mathbb{D}}\",\n 120124: \"\\\\ensuremath{\\\\mathbb{E}}\",\n 120125: \"\\\\ensuremath{\\\\mathbb{F}}\",\n 120126: \"\\\\ensuremath{\\\\mathbb{G}}\",\n 120127: \"\\\\ensuremath{\\\\mathbb{H}}\",\n 120128: \"\\\\ensuremath{\\\\mathbb{I}}\",\n 120129: \"\\\\ensuremath{\\\\mathbb{J}}\",\n 120130: \"\\\\ensuremath{\\\\mathbb{K}}\",\n 120131: \"\\\\ensuremath{\\\\mathbb{L}}\",\n 120132: \"\\\\ensuremath{\\\\mathbb{M}}\",\n 120133: \"\\\\ensuremath{\\\\mathbb{N}}\",\n 120134: \"\\\\ensuremath{\\\\mathbb{O}}\",\n 120135: \"\\\\ensuremath{\\\\mathbb{P}}\",\n 120136: \"\\\\ensuremath{\\\\mathbb{Q}}\",\n 120137: \"\\\\ensuremath{\\\\mathbb{R}}\",\n 120138: \"\\\\ensuremath{\\\\mathbb{S}}\",\n 120139: \"\\\\ensuremath{\\\\mathbb{T}}\",\n 120140: \"\\\\ensuremath{\\\\mathbb{U}}\",\n 120141: \"\\\\ensuremath{\\\\mathbb{V}}\",\n 120142: \"\\\\ensuremath{\\\\mathbb{W}}\",\n 120143: \"\\\\ensuremath{\\\\mathbb{X}}\",\n 120144: \"\\\\ensuremath{\\\\mathbb{Y}}\",\n 120145: \"\\\\ensuremath{\\\\mathbb{Z}}\",\n 120146: \"\\\\ensuremath{\\\\mathbb{a}}\",\n 120147: \"\\\\ensuremath{\\\\mathbb{b}}\",\n 120148: \"\\\\ensuremath{\\\\mathbb{c}}\",\n 120149: \"\\\\ensuremath{\\\\mathbb{d}}\",\n 120150: \"\\\\ensuremath{\\\\mathbb{e}}\",\n 120151: \"\\\\ensuremath{\\\\mathbb{f}}\",\n 120152: \"\\\\ensuremath{\\\\mathbb{g}}\",\n 120153: \"\\\\ensuremath{\\\\mathbb{h}}\",\n 120154: \"\\\\ensuremath{\\\\mathbb{i}}\",\n 120155: \"\\\\ensuremath{\\\\mathbb{j}}\",\n 120156: \"\\\\ensuremath{\\\\mathbb{k}}\",\n 120157: \"\\\\ensuremath{\\\\mathbb{l}}\",\n 120158: \"\\\\ensuremath{\\\\mathbb{m}}\",\n 120159: \"\\\\ensuremath{\\\\mathbb{n}}\",\n 120160: \"\\\\ensuremath{\\\\mathbb{o}}\",\n 120161: \"\\\\ensuremath{\\\\mathbb{p}}\",\n 120162: \"\\\\ensuremath{\\\\mathbb{q}}\",\n 120163: \"\\\\ensuremath{\\\\mathbb{r}}\",\n 120164: \"\\\\ensuremath{\\\\mathbb{s}}\",\n 120165: \"\\\\ensuremath{\\\\mathbb{t}}\",\n 120166: \"\\\\ensuremath{\\\\mathbb{u}}\",\n 120167: \"\\\\ensuremath{\\\\mathbb{v}}\",\n 120168: \"\\\\ensuremath{\\\\mathbb{w}}\",\n 120169: \"\\\\ensuremath{\\\\mathbb{x}}\",\n 120170: \"\\\\ensuremath{\\\\mathbb{y}}\",\n 120171: \"\\\\ensuremath{\\\\mathbb{z}}\",\n 120224: \"\\\\ensuremath{\\\\mathsf{A}}\",\n 120225: \"\\\\ensuremath{\\\\mathsf{B}}\",\n 120226: \"\\\\ensuremath{\\\\mathsf{C}}\",\n 120227: \"\\\\ensuremath{\\\\mathsf{D}}\",\n 120228: \"\\\\ensuremath{\\\\mathsf{E}}\",\n 120229: \"\\\\ensuremath{\\\\mathsf{F}}\",\n 120230: \"\\\\ensuremath{\\\\mathsf{G}}\",\n 120231: \"\\\\ensuremath{\\\\mathsf{H}}\",\n 120232: \"\\\\ensuremath{\\\\mathsf{I}}\",\n 120233: \"\\\\ensuremath{\\\\mathsf{J}}\",\n 120234: \"\\\\ensuremath{\\\\mathsf{K}}\",\n 120235: \"\\\\ensuremath{\\\\mathsf{L}}\",\n 120236: \"\\\\ensuremath{\\\\mathsf{M}}\",\n 120237: \"\\\\ensuremath{\\\\mathsf{N}}\",\n 120238: \"\\\\ensuremath{\\\\mathsf{O}}\",\n 120239: \"\\\\ensuremath{\\\\mathsf{P}}\",\n 120240: \"\\\\ensuremath{\\\\mathsf{Q}}\",\n 120241: \"\\\\ensuremath{\\\\mathsf{R}}\",\n 120242: \"\\\\ensuremath{\\\\mathsf{S}}\",\n 120243: \"\\\\ensuremath{\\\\mathsf{T}}\",\n 120244: \"\\\\ensuremath{\\\\mathsf{U}}\",\n 120245: \"\\\\ensuremath{\\\\mathsf{V}}\",\n 120246: \"\\\\ensuremath{\\\\mathsf{W}}\",\n 120247: \"\\\\ensuremath{\\\\mathsf{X}}\",\n 120248: \"\\\\ensuremath{\\\\mathsf{Y}}\",\n 120249: \"\\\\ensuremath{\\\\mathsf{Z}}\",\n 120250: \"\\\\ensuremath{\\\\mathsf{a}}\",\n 120251: \"\\\\ensuremath{\\\\mathsf{b}}\",\n 120252: \"\\\\ensuremath{\\\\mathsf{c}}\",\n 120253: \"\\\\ensuremath{\\\\mathsf{d}}\",\n 120254: \"\\\\ensuremath{\\\\mathsf{e}}\",\n 120255: \"\\\\ensuremath{\\\\mathsf{f}}\",\n 120256: \"\\\\ensuremath{\\\\mathsf{g}}\",\n 120257: \"\\\\ensuremath{\\\\mathsf{h}}\",\n 120258: \"\\\\ensuremath{\\\\mathsf{i}}\",\n 120259: \"\\\\ensuremath{\\\\mathsf{j}}\",\n 120260: \"\\\\ensuremath{\\\\mathsf{k}}\",\n 120261: \"\\\\ensuremath{\\\\mathsf{l}}\",\n 120262: \"\\\\ensuremath{\\\\mathsf{m}}\",\n 120263: \"\\\\ensuremath{\\\\mathsf{n}}\",\n 120264: \"\\\\ensuremath{\\\\mathsf{o}}\",\n 120265: \"\\\\ensuremath{\\\\mathsf{p}}\",\n 120266: \"\\\\ensuremath{\\\\mathsf{q}}\",\n 120267: \"\\\\ensuremath{\\\\mathsf{r}}\",\n 120268: \"\\\\ensuremath{\\\\mathsf{s}}\",\n 120269: \"\\\\ensuremath{\\\\mathsf{t}}\",\n 120270: \"\\\\ensuremath{\\\\mathsf{u}}\",\n 120271: \"\\\\ensuremath{\\\\mathsf{v}}\",\n 120272: \"\\\\ensuremath{\\\\mathsf{w}}\",\n 120273: \"\\\\ensuremath{\\\\mathsf{x}}\",\n 120274: \"\\\\ensuremath{\\\\mathsf{y}}\",\n 120275: \"\\\\ensuremath{\\\\mathsf{z}}\",\n 120432: \"\\\\ensuremath{\\\\mathtt{A}}\",\n 120433: \"\\\\ensuremath{\\\\mathtt{B}}\",\n 120434: \"\\\\ensuremath{\\\\mathtt{C}}\",\n 120435: \"\\\\ensuremath{\\\\mathtt{D}}\",\n 120436: \"\\\\ensuremath{\\\\mathtt{E}}\",\n 120437: \"\\\\ensuremath{\\\\mathtt{F}}\",\n 120438: \"\\\\ensuremath{\\\\mathtt{G}}\",\n 120439: \"\\\\ensuremath{\\\\mathtt{H}}\",\n 120440: \"\\\\ensuremath{\\\\mathtt{I}}\",\n 120441: \"\\\\ensuremath{\\\\mathtt{J}}\",\n 120442: \"\\\\ensuremath{\\\\mathtt{K}}\",\n 120443: \"\\\\ensuremath{\\\\mathtt{L}}\",\n 120444: \"\\\\ensuremath{\\\\mathtt{M}}\",\n 120445: \"\\\\ensuremath{\\\\mathtt{N}}\",\n 120446: \"\\\\ensuremath{\\\\mathtt{O}}\",\n 120447: \"\\\\ensuremath{\\\\mathtt{P}}\",\n 120448: \"\\\\ensuremath{\\\\mathtt{Q}}\",\n 120449: \"\\\\ensuremath{\\\\mathtt{R}}\",\n 120450: \"\\\\ensuremath{\\\\mathtt{S}}\",\n 120451: \"\\\\ensuremath{\\\\mathtt{T}}\",\n 120452: \"\\\\ensuremath{\\\\mathtt{U}}\",\n 120453: \"\\\\ensuremath{\\\\mathtt{V}}\",\n 120454: \"\\\\ensuremath{\\\\mathtt{W}}\",\n 120455: \"\\\\ensuremath{\\\\mathtt{X}}\",\n 120456: \"\\\\ensuremath{\\\\mathtt{Y}}\",\n 120457: \"\\\\ensuremath{\\\\mathtt{Z}}\",\n 120458: \"\\\\ensuremath{\\\\mathtt{a}}\",\n 120459: \"\\\\ensuremath{\\\\mathtt{b}}\",\n 120460: \"\\\\ensuremath{\\\\mathtt{c}}\",\n 120461: \"\\\\ensuremath{\\\\mathtt{d}}\",\n 120462: \"\\\\ensuremath{\\\\mathtt{e}}\",\n 120463: \"\\\\ensuremath{\\\\mathtt{f}}\",\n 120464: \"\\\\ensuremath{\\\\mathtt{g}}\",\n 120465: \"\\\\ensuremath{\\\\mathtt{h}}\",\n 120466: \"\\\\ensuremath{\\\\mathtt{i}}\",\n 120467: \"\\\\ensuremath{\\\\mathtt{j}}\",\n 120468: \"\\\\ensuremath{\\\\mathtt{k}}\",\n 120469: \"\\\\ensuremath{\\\\mathtt{l}}\",\n 120470: \"\\\\ensuremath{\\\\mathtt{m}}\",\n 120471: \"\\\\ensuremath{\\\\mathtt{n}}\",\n 120472: \"\\\\ensuremath{\\\\mathtt{o}}\",\n 120473: \"\\\\ensuremath{\\\\mathtt{p}}\",\n 120474: \"\\\\ensuremath{\\\\mathtt{q}}\",\n 120475: \"\\\\ensuremath{\\\\mathtt{r}}\",\n 120476: \"\\\\ensuremath{\\\\mathtt{s}}\",\n 120477: \"\\\\ensuremath{\\\\mathtt{t}}\",\n 120478: \"\\\\ensuremath{\\\\mathtt{u}}\",\n 120479: \"\\\\ensuremath{\\\\mathtt{v}}\",\n 120480: \"\\\\ensuremath{\\\\mathtt{w}}\",\n 120481: \"\\\\ensuremath{\\\\mathtt{x}}\",\n 120482: \"\\\\ensuremath{\\\\mathtt{y}}\",\n 120483: \"\\\\ensuremath{\\\\mathtt{z}}\",\n 120782: \"\\\\ensuremath{\\\\mathbf{0}}\",\n 120783: \"\\\\ensuremath{\\\\mathbf{1}}\",\n 120784: \"\\\\ensuremath{\\\\mathbf{2}}\",\n 120785: \"\\\\ensuremath{\\\\mathbf{3}}\",\n 120786: \"\\\\ensuremath{\\\\mathbf{4}}\",\n 120787: \"\\\\ensuremath{\\\\mathbf{5}}\",\n 120788: \"\\\\ensuremath{\\\\mathbf{6}}\",\n 120789: \"\\\\ensuremath{\\\\mathbf{7}}\",\n 120790: \"\\\\ensuremath{\\\\mathbf{8}}\",\n 120791: \"\\\\ensuremath{\\\\mathbf{9}}\",\n 120792: \"\\\\ensuremath{\\\\mathbb{0}}\",\n 120793: \"\\\\ensuremath{\\\\mathbb{1}}\",\n 120794: \"\\\\ensuremath{\\\\mathbb{2}}\",\n 120795: \"\\\\ensuremath{\\\\mathbb{3}}\",\n 120796: \"\\\\ensuremath{\\\\mathbb{4}}\",\n 120797: \"\\\\ensuremath{\\\\mathbb{5}}\",\n 120798: \"\\\\ensuremath{\\\\mathbb{6}}\",\n 120799: \"\\\\ensuremath{\\\\mathbb{7}}\",\n 120800: \"\\\\ensuremath{\\\\mathbb{8}}\",\n 120801: \"\\\\ensuremath{\\\\mathbb{9}}\",\n 120802: \"\\\\ensuremath{\\\\mathsf{0}}\",\n 120803: \"\\\\ensuremath{\\\\mathsf{1}}\",\n 120804: \"\\\\ensuremath{\\\\mathsf{2}}\",\n 120805: \"\\\\ensuremath{\\\\mathsf{3}}\",\n 120806: \"\\\\ensuremath{\\\\mathsf{4}}\",\n 120807: \"\\\\ensuremath{\\\\mathsf{5}}\",\n 120808: \"\\\\ensuremath{\\\\mathsf{6}}\",\n 120809: \"\\\\ensuremath{\\\\mathsf{7}}\",\n 120810: \"\\\\ensuremath{\\\\mathsf{8}}\",\n 120811: \"\\\\ensuremath{\\\\mathsf{9}}\",\n 120822: \"\\\\ensuremath{\\\\mathtt{0}}\",\n 120823: \"\\\\ensuremath{\\\\mathtt{1}}\",\n 120824: \"\\\\ensuremath{\\\\mathtt{2}}\",\n 120825: \"\\\\ensuremath{\\\\mathtt{3}}\",\n 120826: \"\\\\ensuremath{\\\\mathtt{4}}\",\n 120827: \"\\\\ensuremath{\\\\mathtt{5}}\",\n 120828: \"\\\\ensuremath{\\\\mathtt{6}}\",\n 120829: \"\\\\ensuremath{\\\\mathtt{7}}\",\n 120830: \"\\\\ensuremath{\\\\mathtt{8}}\",\n 120831: \"\\\\ensuremath{\\\\mathtt{9}}\"\n};\nfunction unicodeToLatex(input) {\n const s = String(input).normalize('NFC');\n let out = '';\n for (const ch of s){\n const cp = ch.codePointAt(0);\n const repl = UNI2LATEX[cp];\n if (void 0 !== repl) out += '{' + repl + '}';\n else out += ch;\n }\n return out;\n}\nconst CHARS = [\n '{',\n '}',\n '_',\n '^',\n '#',\n '&',\n '$',\n '%',\n '~'\n];\nconst CHR = {\n '̀': '\\\\grave{{{0}}}',\n '́': '\\\\acute{{{0}}}',\n '̂': '\\\\hat{{{0}}}',\n '̃': '\\\\tilde{{{0}}}',\n '̄': '\\\\bar{{{0}}}',\n '̅': '\\\\overbar{{{0}}}',\n '̆': '\\\\breve{{{0}}}',\n '̇': '\\\\dot{{{0}}}',\n '̈': '\\\\ddot{{{0}}}',\n '̉': '\\\\ovhook{{{0}}}',\n '̊': '\\\\ocirc{{{0}}}}',\n '̌': '\\\\check{{{0}}}}',\n '̐': '\\\\candra{{{0}}}',\n '̒': '\\\\oturnedcomma{{{0}}}',\n '̕': '\\\\ocommatopright{{{0}}}',\n '̚': '\\\\droang{{{0}}}',\n '̸': '\\\\not{{{0}}}',\n '⃝': '\\\\enclosecircle{{{0}}}',\n '⃞': '\\\\enclosesquare{{{0}}}',\n '⃟': '\\\\enclosediamond{{{0}}}',\n '⃤': '\\\\enclosetriangle{{{0}}}',\n '⃐': '\\\\leftharpoonup{{{0}}}',\n '⃑': '\\\\rightharpoonup{{{0}}}',\n '⃒': '\\\\vertoverlay{{{0}}}',\n '⃖': '\\\\LVec{{{0}}}',\n '⃗': '\\\\vec{{{0}}}',\n '⃛': '\\\\dddot{{{0}}}',\n '⃜': '\\\\ddddot{{{0}}}',\n '⃡': '\\\\overleftrightarrow{{{0}}}',\n '⃧': '\\\\annuity{{{0}}}',\n '⃩': '\\\\widebridgeabove{{{0}}}',\n '⃰': '\\\\asteraccent{{{0}}}',\n '̰': '\\\\wideutilde{{{0}}}',\n '̱': '\\\\underbar{{{0}}}',\n '⃨': '\\\\threeunderdot{{{0}}}',\n '⃬': '\\\\underrightharpoondown{{{0}}}',\n '⃭': '\\\\underleftharpoondown{{{0}}}',\n '⃮': '\\\\underleftarrow{{{0}}}',\n '⃯': '\\\\underrightarrow{{{0}}}',\n '⎴': '\\\\overbracket{{{0}}}',\n '⏜': '\\\\overparen{{{0}}}',\n '⏞': '\\\\overbrace{{{0}}}',\n '⎵': '\\\\underbracket{{{0}}}',\n '⏝': '\\\\underparen{{{0}}}',\n '⏟': '\\\\underbrace{{{0}}}'\n};\nconst CHR_BO = {\n '⅀': '\\\\Bbbsum',\n '∏': '\\\\prod',\n '∐': '\\\\coprod',\n '∑': '\\\\sum',\n '∫': '\\\\int',\n '∬': '\\\\iint',\n '∭': '\\\\iiint',\n '⨌': '\\\\iiiint',\n '∮': '\\\\oint',\n '∯': '\\\\oiint',\n '∰': '\\\\oiiint',\n '⨍': '\\\\fint',\n '⨖': '\\\\sqint',\n '⋀': '\\\\bigwedge',\n '⋁': '\\\\bigvee',\n '⋂': '\\\\bigcap',\n '⋃': '\\\\bigcup',\n '⨀': '\\\\bigodot',\n '⨁': '\\\\bigoplus',\n '⨂': '\\\\bigotimes',\n '⨄': '\\\\biguplus',\n '⨅': '\\\\bigsqcap',\n '⨆': '\\\\bigsqcup',\n '⨉': '\\\\varprod'\n};\nconst T = {\n '→': '\\\\rightarrow ',\n 𝛼: '\\\\alpha ',\n 𝛽: '\\\\beta ',\n 𝛾: '\\\\gamma ',\n 𝛿: '\\\\delta ',\n 𝜀: '\\\\epsilon ',\n 𝜁: '\\\\zeta ',\n 𝜂: '\\\\eta ',\n 𝜃: '\\\\theta ',\n 𝜄: '\\\\iota ',\n 𝜅: '\\\\kappa ',\n 𝜆: '\\\\lambda ',\n 𝜇: '\\\\mu ',\n 𝜈: '\\\\nu ',\n 𝜉: '\\\\xi ',\n 𝜊: '\\\\omicron ',\n 𝜋: '\\\\pi ',\n 𝜌: '\\\\rho ',\n 𝜍: '\\\\varsigma ',\n 𝜎: '\\\\sigma ',\n 𝜏: '\\\\tau ',\n 𝜐: '\\\\upsilon ',\n 𝜑: '\\\\phi ',\n 𝜒: '\\\\chi ',\n 𝜓: '\\\\psi ',\n 𝜔: '\\\\omega ',\n '𝜕': '\\\\partial ',\n 𝜖: '\\\\varepsilon ',\n 𝜗: '\\\\vartheta ',\n 𝜘: '\\\\varkappa ',\n 𝜙: '\\\\varphi ',\n 𝜚: '\\\\varrho ',\n 𝜛: '\\\\varpi ',\n '←': '\\\\leftarrow ',\n '↑': '\\\\uparrow ',\n '↓': '\\\\downarrow ',\n '↔': '\\\\leftrightarrow ',\n '↕': '\\\\updownarrow ',\n '↖': '\\\\nwarrow ',\n '↗': '\\\\nearrow ',\n '↘': '\\\\searrow ',\n '↙': '\\\\swarrow ',\n '⋮': '\\\\vdots ',\n '⋯': '\\\\cdots ',\n '⋰': '\\\\adots ',\n '⋱': '\\\\ddots ',\n '⇐': '\\\\Leftarrow ',\n '⇒': '\\\\Rightarrow ',\n '⇔': '\\\\Leftrightarrow ',\n '⇑': '\\\\Uparrow ',\n '⇓': '\\\\Downarrow ',\n '⇕': '\\\\Updownarrow ',\n '↦': '\\\\mapsto ',\n '⟨': '\\\\langle ',\n '⟩': '\\\\rangle ',\n '⌈': '\\\\lceil ',\n '⌉': '\\\\rceil ',\n '⌊': '\\\\lfloor ',\n '⌋': '\\\\rfloor ',\n '‖': '\\\\Vert ',\n '∥': '\\\\parallel ',\n '≠': '\\\\ne ',\n '≤': '\\\\leq ',\n '≥': '\\\\geq ',\n '≦': '\\\\leqq ',\n '≧': '\\\\geqq ',\n '≨': '\\\\lneqq ',\n '≩': '\\\\gneqq ',\n '≪': '\\\\ll ',\n '≫': '\\\\gg ',\n '∈': '\\\\in ',\n '∉': '\\\\notin ',\n '∋': '\\\\ni ',\n '∌': '\\\\nni ',\n '∞': '\\\\infty ',\n '±': '\\\\pm ',\n '∓': '\\\\mp ',\n '·': '\\\\cdot ',\n '⋅': '\\\\cdot ',\n '×': '\\\\times ',\n '÷': '\\\\div ',\n '∗': '\\\\ast ',\n '∘': '\\\\circ ',\n '∙': '\\\\bullet ',\n '−': '-',\n '<': '<',\n '>': '>',\n '=': '=',\n '≈': '\\\\approx ',\n '≡': '\\\\equiv ',\n '≅': '\\\\cong ',\n '∼': '\\\\sim ',\n '≃': '\\\\simeq ',\n '≐': '\\\\doteq ',\n '∝': '\\\\propto ',\n '∴': '\\\\therefore ',\n '∵': '\\\\because ',\n '∀': '\\\\forall ',\n '∃': '\\\\exists ',\n '∄': '\\\\nexists ',\n '∅': '\\\\emptyset ',\n '∇': '\\\\nabla ',\n '∧': '\\\\wedge ',\n '∨': '\\\\vee ',\n '¬': '\\\\neg ',\n '∩': '\\\\cap ',\n '∪': '\\\\cup ',\n '⊂': '\\\\subset ',\n '⊃': '\\\\supset ',\n '⊆': '\\\\subseteq ',\n '⊇': '\\\\supseteq ',\n '⊕': '\\\\oplus ',\n '⊗': '\\\\otimes ',\n '⊥': '\\\\perp ',\n '°': '\\\\degree ',\n '′': '\\\\prime ',\n '″': '\\\\prime\\\\prime ',\n '…': '\\\\ldots ',\n α: '\\\\alpha ',\n β: '\\\\beta ',\n γ: '\\\\gamma ',\n δ: '\\\\delta ',\n ε: '\\\\epsilon ',\n ζ: '\\\\zeta ',\n η: '\\\\eta ',\n θ: '\\\\theta ',\n ι: '\\\\iota ',\n κ: '\\\\kappa ',\n λ: '\\\\lambda ',\n μ: '\\\\mu ',\n ν: '\\\\nu ',\n ξ: '\\\\xi ',\n ο: '\\\\omicron ',\n π: '\\\\pi ',\n ρ: '\\\\rho ',\n ς: '\\\\varsigma ',\n σ: '\\\\sigma ',\n τ: '\\\\tau ',\n υ: '\\\\upsilon ',\n φ: '\\\\phi ',\n χ: '\\\\chi ',\n ψ: '\\\\psi ',\n ω: '\\\\omega ',\n '∂': '\\\\partial ',\n ϵ: '\\\\epsilon ',\n ϑ: '\\\\vartheta ',\n ϰ: '\\\\varkappa ',\n ϕ: '\\\\phi ',\n ϱ: '\\\\varrho ',\n ϖ: '\\\\varpi ',\n 𝐴: 'A',\n 𝐵: 'B',\n 𝐶: 'C',\n 𝐷: 'D',\n 𝐸: 'E',\n 𝐹: 'F',\n 𝐺: 'G',\n 𝐻: 'H',\n 𝐼: 'I',\n 𝐽: 'J',\n 𝐾: 'K',\n 𝐿: 'L',\n 𝑀: 'M',\n 𝑁: 'N',\n 𝑂: 'O',\n 𝑃: 'P',\n 𝑄: 'Q',\n 𝑅: 'R',\n 𝑆: 'S',\n 𝑇: 'T',\n 𝑈: 'U',\n 𝑉: 'V',\n 𝑊: 'W',\n 𝑋: 'X',\n 𝑌: 'Y',\n 𝑍: 'Z',\n 𝑎: 'a',\n 𝑏: 'b',\n 𝑐: 'c',\n 𝑑: 'd',\n 𝑒: 'e',\n 𝑓: 'f',\n 𝑔: 'g',\n 𝑖: 'i',\n 𝑗: 'j',\n 𝑘: 'k',\n 𝑙: 'l',\n 𝑚: 'm',\n 𝑛: 'n',\n 𝑜: 'o',\n 𝑝: 'p',\n 𝑞: 'q',\n 𝑟: 'r',\n 𝑠: 's',\n 𝑡: 't',\n 𝑢: 'u',\n 𝑣: 'v',\n 𝑤: 'w',\n 𝑥: 'x',\n 𝑦: 'y',\n 𝑧: 'z',\n 𝒉: 'h',\n 𝛢: 'A',\n 𝛣: 'B',\n 𝛤: '\\\\Gamma ',\n 𝛥: '\\\\Delta ',\n 𝛦: 'E',\n 𝛧: 'Z',\n 𝛨: 'H',\n 𝛩: '\\\\Theta ',\n 𝛪: 'I',\n 𝛫: 'K',\n 𝛬: '\\\\Lambda ',\n 𝛭: 'M',\n 𝛮: 'N',\n 𝛯: '\\\\Xi ',\n 𝛰: 'O',\n 𝛱: '\\\\Pi ',\n 𝛲: 'P',\n 𝛴: '\\\\Sigma ',\n 𝛵: 'T',\n 𝛶: '\\\\Upsilon ',\n 𝛷: '\\\\Phi ',\n 𝛸: 'X',\n 𝛹: '\\\\Psi ',\n 𝛺: '\\\\Omega '\n};\nconst FUNC = {\n sin: '\\\\sin({fe})',\n cos: '\\\\cos({fe})',\n tan: '\\\\tan({fe})',\n cot: '\\\\cot({fe})',\n sec: '\\\\sec({fe})',\n csc: '\\\\csc({fe})',\n arcsin: '\\\\arcsin({fe})',\n arccos: '\\\\arccos({fe})',\n arctan: '\\\\arctan({fe})',\n arccot: '\\\\arccot({fe})',\n arcsec: '\\\\arcsec({fe})',\n arccsc: '\\\\arccsc({fe})',\n sinh: '\\\\sinh({fe})',\n cosh: '\\\\cosh({fe})',\n tanh: '\\\\tanh({fe})',\n coth: '\\\\coth({fe})',\n sech: '\\\\sech({fe})',\n csch: '\\\\csch({fe})',\n arcsinh: '\\\\arcsinh({fe})',\n arccosh: '\\\\arccosh({fe})',\n arctanh: '\\\\arctanh({fe})',\n arccoth: '\\\\arccoth({fe})',\n arcsech: '\\\\arcsech({fe})',\n arccsch: '\\\\arccsch({fe})',\n log: '\\\\log{{fe}}',\n ln: '\\\\ln{{fe}}',\n lg: '\\\\lg{{fe}}',\n exp: '\\\\exp({fe})',\n arg: '\\\\arg({fe})',\n deg: '\\\\deg({fe})',\n det: '\\\\det({fe})',\n dim: '\\\\dim({fe})',\n gcd: '\\\\gcd({fe})',\n hom: '\\\\hom({fe})',\n ker: '\\\\ker({fe})',\n mod: '\\\\bmod({fe})',\n Pr: '\\\\Pr({fe})'\n};\nconst CHR_DEFAULT = {\n ACC_VAL: '\\\\hat{{{0}}}'\n};\nconst POS = {\n top: '\\\\overline{{{0}}}',\n bot: '\\\\underline{{{0}}}'\n};\nconst POS_DEFAULT = {\n BAR_VAL: '\\\\overline{{{0}}}'\n};\nconst F = {\n bar: '\\\\frac{{{num}}}{{{den}}}',\n skw: '^{{{num}}}/_{{{den}}}',\n noBar: '\\\\genfrac{{}}{{}}{{0pt}}{{}}{{{num}}}{{{den}}}',\n lin: '{{{num}}}/{{{den}}}'\n};\nconst F_DEFAULT = '\\\\frac{{{num}}}{{{den}}}';\nconst F_SMALL = '\\\\tfrac{{{num}}}{{{den}}}';\nconst D = '\\\\left{left}{text}\\\\right{right}';\nconst D_DEFAULT = {\n left: '(',\n right: ')',\n sep: '|',\n null: '.'\n};\nconst BORDER_BOX = '\\\\boxed{{{0}}}';\nconst PHANT = '\\\\phantom{{{0}}}';\nconst M_JC = {\n left: '\\\\begin{{array}}{{l}}{text}\\\\end{{array}}',\n right: '\\\\begin{{array}}{{r}}{text}\\\\end{{array}}',\n center: '\\\\begin{{matrix}}{text}\\\\end{{matrix}}'\n};\nconst RAD = '\\\\sqrt[{deg}]{{{text}}}';\nconst RAD_DEFAULT = '\\\\sqrt{{{text}}}';\nconst ARR = '\\\\begin{{array}}{{c}}{text}\\\\end{{array}}';\nconst LIM_FUNC = {\n lim: '\\\\lim_{{{lim}}}',\n max: '\\\\max_{{{lim}}}',\n min: '\\\\min_{{{lim}}}',\n sup: '\\\\sup_{{{lim}}}',\n inf: '\\\\inf_{{{lim}}}',\n limsup: '\\\\limsup_{{{lim}}}',\n liminf: '\\\\liminf_{{{lim}}}',\n injlim: '\\\\injlim_{{{lim}}}',\n projlim: '\\\\projlim_{{{lim}}}'\n};\nconst LIM_TO = [\n '\\\\rightarrow',\n '\\\\to'\n];\nconst LIM_UPP = '\\\\overset{{{lim}}}{{{text}}}';\nconst M = '\\\\begin{{matrix}}{text}\\\\end{{matrix}}';\nfunction _define_property(obj, key, value) {\n if (key in obj) Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n else obj[key] = value;\n return obj;\n}\nconst VAL_SUFFIX = 'val';\nfunction localName(tagName) {\n const idx = tagName.indexOf(':');\n return -1 === idx ? tagName : tagName.slice(idx + 1);\n}\nfunction isElement(node) {\n return 'string' != typeof node;\n}\nfunction textContent(node) {\n let out = '';\n for (const child of node.children)out += 'string' == typeof child ? child : textContent(child);\n return out;\n}\nfunction pyFormat(template, positional = [], named = {}) {\n let out = '';\n let i = 0;\n const n = template.length;\n while(i < n){\n const ch = template[i];\n if ('{' === ch) {\n if ('{' === template[i + 1]) {\n out += '{';\n i += 2;\n continue;\n }\n const close = template.indexOf('}', i + 1);\n if (-1 === close) {\n out += ch;\n i += 1;\n continue;\n }\n const field = template.slice(i + 1, close);\n if (/^\\d+$/.test(field)) out += positional[Number(field)] ?? '';\n else out += named[field] ?? '';\n i = close + 1;\n continue;\n }\n if ('}' === ch && '}' === template[i + 1]) {\n out += '}';\n i += 2;\n continue;\n }\n out += ch;\n i += 1;\n }\n return out;\n}\nfunction escapeLatex(strs) {\n const collapsed = strs.split('\\\\\\\\').join('\\\\');\n let out = '';\n let last = null;\n for (const c of collapsed){\n if (CHARS.includes(c) && \"\\\\\" !== last) out += \"\\\\\" + c;\n else out += c;\n last = c;\n }\n return out;\n}\nfunction getVal(key, def, store) {\n if (void 0 !== key) {\n if (!store) return key;\n return void 0 !== store[key] ? store[key] : key;\n }\n return def;\n}\nfunction isOn(val, def = false) {\n if (void 0 === val) return def;\n const v = val.toLowerCase();\n return 'on' === v || '1' === v || 'true' === v;\n}\nconst PR_VAL_TAGS = new Set([\n 'chr',\n 'pos',\n 'begChr',\n 'endChr',\n 'sepChr',\n 'type',\n 'show',\n 'smallFrac',\n 'limLoc',\n 'intLim',\n 'naryLim',\n 'mcJc',\n 'degHide'\n]);\nclass Pr {\n get(name) {\n return this.attrs[name];\n }\n constructor(elm, conv){\n _define_property(this, \"text\", '');\n _define_property(this, \"attrs\", {});\n for (const child of elm.children){\n if (!isElement(child)) continue;\n const stag = localName(child.tagName);\n if ('brk' === stag) {\n this.attrs['brk'] = \"\\\\\\\\\";\n this.text += \"\\\\\\\\\";\n } else if (PR_VAL_TAGS.has(stag)) this.attrs[stag] = getAttr(child, VAL_SUFFIX);\n }\n }\n}\nfunction getAttr(node, attrLocal) {\n for (const key of Object.keys(node.attributes))if (localName(key) === attrLocal) {\n const v = node.attributes[key];\n return null == v ? void 0 : v;\n }\n}\nfunction findDescendantAttr(node, elemLocal, attrLocal) {\n for (const child of node.children){\n if (!isElement(child)) continue;\n if (localName(child.tagName) === elemLocal) {\n const v = getAttr(child, attrLocal);\n if (void 0 !== v) return v;\n }\n const deep = findDescendantAttr(child, elemLocal, attrLocal);\n if (void 0 !== deep) return deep;\n }\n}\nconst DIRECT_TAGS = new Set([\n 'box',\n 'sSub',\n 'sSup',\n 'sSubSup',\n 'num',\n 'den',\n 'deg',\n 'e'\n]);\nclass Converter {\n convert(node) {\n const out = this.oMath(node);\n for (const name of this.unsupported)this.options.onUnsupported?.(name);\n return out;\n }\n noteUnsupported(stag) {\n this.unsupported.add(stag);\n }\n oMath(elm) {\n return this.processChildren(elm);\n }\n processChildrenList(elm, include) {\n const out = [];\n for (const child of elm.children){\n if (!isElement(child)) continue;\n const stag = localName(child.tagName);\n if (include && !include.has(stag)) continue;\n let value = this.dispatch(stag, child);\n if (null == value) {\n value = this.processUnknown(stag, child);\n if (null == value) continue;\n }\n out.push({\n stag,\n value,\n node: child\n });\n }\n return out;\n }\n processChildrenDict(elm, include) {\n const dict = {};\n for (const { stag, value } of this.processChildrenList(elm, include))dict[stag] = value;\n return dict;\n }\n processChildren(elm, include) {\n let out = '';\n for (const { value } of this.processChildrenList(elm, include))out += value instanceof Pr ? value.text : String(value);\n return out;\n }\n dispatch(stag, elm) {\n switch(stag){\n case 'acc':\n return this.doAcc(elm);\n case 'r':\n return this.doR(elm);\n case 'bar':\n return this.doBar(elm);\n case 'sub':\n return this.doSub(elm);\n case 'sup':\n return this.doSup(elm);\n case 'f':\n return this.doF(elm);\n case 'func':\n return this.doFunc(elm);\n case 'fName':\n return this.doFName(elm);\n case 'groupChr':\n return this.doGroupChr(elm);\n case 'd':\n return this.doD(elm);\n case 'rad':\n return this.doRad(elm);\n case 'eqArr':\n return this.doEqArr(elm);\n case 'limLow':\n return this.doLimLow(elm);\n case 'limUpp':\n return this.doLimUpp(elm);\n case 'lim':\n return this.doLim(elm);\n case 'm':\n return this.doM(elm);\n case 'mr':\n return this.doMr(elm);\n case 'nary':\n return this.doNary(elm);\n case 'borderBox':\n return this.doBorderBox(elm);\n case 'phant':\n return this.doPhant(elm);\n case 'sPre':\n return this.doSPre(elm);\n default:\n return null;\n }\n }\n processUnknown(stag, elm) {\n if (DIRECT_TAGS.has(stag)) return this.processChildren(elm);\n if (stag.endsWith('Pr')) return new Pr(elm, this);\n this.noteUnsupported(stag);\n return textContent(elm);\n }\n doAcc(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['accPr'];\n const latexS = getVal(pr?.get('chr'), CHR_DEFAULT.ACC_VAL, CHR) ?? '';\n const e = c['e'] ?? '';\n return pyFormat(latexS, [\n e\n ]);\n }\n doBar(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['barPr'];\n const latexS = getVal(pr?.get('pos'), POS_DEFAULT.BAR_VAL, POS) ?? '';\n const e = c['e'] ?? '';\n return (pr?.text ?? '') + pyFormat(latexS, [\n e\n ]);\n }\n doD(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['dPr'];\n const nullChar = D_DEFAULT[\"null\"];\n const sVal = getVal(pr?.get('begChr'), D_DEFAULT.left, T);\n const eVal = getVal(pr?.get('endChr'), D_DEFAULT.right, T);\n const sepVal = getVal(pr?.get('sepChr'), D_DEFAULT.sep, T);\n const bases = this.processChildrenList(elm, new Set([\n 'e'\n ])).map((x)=>String(x.value));\n const sep = sepVal ? escapeLatex(sepVal) : '';\n const text = bases.join(sep);\n return (pr?.text ?? '') + pyFormat(D, [], {\n left: sVal ? escapeLatex(sVal) : nullChar,\n text,\n right: eVal ? escapeLatex(eVal) : nullChar\n });\n }\n doSub(elm) {\n return pyFormat(SUB_TEMPLATE, [\n this.processChildren(elm)\n ]);\n }\n doSup(elm) {\n return pyFormat(SUP_TEMPLATE, [\n this.processChildren(elm)\n ]);\n }\n doF(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['fPr'];\n let latexS = getVal(pr?.get('type'), F_DEFAULT, F) ?? '';\n if (latexS === F_DEFAULT && isOn(pr?.get('smallFrac'))) latexS = F_SMALL;\n const num = c['num'] ?? '';\n const den = c['den'] ?? '';\n return (pr?.text ?? '') + pyFormat(latexS, [], {\n num,\n den\n });\n }\n doFunc(elm) {\n const c = this.processChildrenDict(elm);\n const fName = c['fName'] ?? '';\n const e = c['e'] ?? '';\n return fName.split(\"{fe}\").join(e);\n }\n doFName(elm) {\n const parts = [];\n for (const { stag, value } of this.processChildrenList(elm))if ('r' === stag) {\n const key = String(value).trim();\n if (void 0 !== FUNC[key]) parts.push(FUNC[key]);\n else {\n this.noteUnsupported('fName:' + key);\n parts.push(String(value));\n }\n } else parts.push(String(value));\n const joined = parts.join(\"\");\n return joined.includes(\"{fe}\") ? joined : joined + \"{fe}\";\n }\n doGroupChr(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['groupChrPr'];\n const latexS = getVal(pr?.get('chr'), void 0, CHR) ?? '';\n const e = c['e'] ?? '';\n return (pr?.text ?? '') + pyFormat(latexS, [\n e\n ]);\n }\n doRad(elm) {\n const c = this.processChildrenDict(elm);\n const text = c['e'] ?? '';\n const deg = c['deg'];\n if (deg) return pyFormat(RAD, [], {\n deg,\n text\n });\n return pyFormat(RAD_DEFAULT, [], {\n text\n });\n }\n doEqArr(elm) {\n const rows = this.processChildrenList(elm, new Set([\n 'e'\n ])).map((c)=>String(c.value));\n return pyFormat(ARR, [], {\n text: rows.join(\"\\\\\\\\\")\n });\n }\n doLimLow(elm) {\n const c = this.processChildrenDict(elm, new Set([\n 'e',\n 'lim'\n ]));\n const e = c['e'] ?? '';\n const lim = c['lim'] ?? '';\n const latexS = LIM_FUNC[e];\n if (!latexS) {\n this.noteUnsupported('limLow:' + e);\n return e + lim;\n }\n return pyFormat(latexS, [], {\n lim\n });\n }\n doLimUpp(elm) {\n const c = this.processChildrenDict(elm, new Set([\n 'e',\n 'lim'\n ]));\n const lim = c['lim'] ?? '';\n const text = c['e'] ?? '';\n return pyFormat(LIM_UPP, [], {\n lim,\n text\n });\n }\n doLim(elm) {\n return this.processChildren(elm).split(LIM_TO[\"0\"]).join(LIM_TO[\"1\"]);\n }\n doM(elm) {\n const rows = [];\n let template = M;\n for (const { stag, value, node } of this.processChildrenList(elm)){\n if ('mPr' === stag) {\n const jc = findDescendantAttr(node, 'mcJc', VAL_SUFFIX);\n if (jc && M_JC[jc]) template = M_JC[jc];\n continue;\n }\n if ('mr' === stag) rows.push(String(value));\n }\n return pyFormat(template, [], {\n text: rows.join(\"\\\\\\\\\")\n });\n }\n doMr(elm) {\n return this.processChildrenList(elm, new Set([\n 'e'\n ])).map((c)=>String(c.value)).join(\"&\");\n }\n doNary(elm) {\n const res = [];\n let bo = '';\n let limLoc = '';\n for (const { stag, value } of this.processChildrenList(elm))if ('naryPr' === stag) {\n const pr = value;\n bo = getVal(pr.get('chr'), void 0, CHR_BO) ?? '';\n limLoc = pr.get('naryLim') ?? pr.get('limLoc') ?? pr.get('intLim') ?? '';\n } else res.push(String(value));\n const limits = 'undOvr' === limLoc ? '\\\\limits' : '';\n return bo + limits + res.join(\"\");\n }\n doBorderBox(elm) {\n const c = this.processChildrenDict(elm);\n const e = c['e'] ?? '';\n return pyFormat(BORDER_BOX, [\n e\n ]);\n }\n doPhant(elm) {\n const c = this.processChildrenDict(elm);\n const pr = c['phantPr'];\n const e = c['e'] ?? '';\n if (isOn(pr?.get('show'), true)) return e;\n return pyFormat(PHANT, [\n e\n ]);\n }\n doSPre(elm) {\n const c = this.processChildrenDict(elm);\n const e = c['e'] ?? '';\n const sub = c['sub'] ?? '';\n const sup = c['sup'] ?? '';\n return `{}${sub}${sup}{${e}}`;\n }\n processUnicode(s) {\n let out = '';\n for (const ch of s.normalize('NFC')){\n const mapped = T[ch];\n if (void 0 !== mapped) out += mapped;\n else if (CHARS.includes(ch)) out += ch;\n else out += unicodeToLatex(ch);\n }\n return out;\n }\n doR(elm) {\n const strs = [];\n const baseStrs = [];\n for (const child of elm.children){\n if (!isElement(child)) continue;\n if ('t' !== localName(child.tagName)) continue;\n const s = textContent(child);\n strs.push(this.processUnicode(s));\n baseStrs.push(s);\n }\n let procStr = escapeLatex(strs.join(\"\"));\n const baseProcStr = baseStrs.join(\"\");\n if (!baseProcStr.includes('{') && procStr.includes('\\\\{')) procStr = procStr.split('\\\\{').join('{');\n if (!baseProcStr.includes('}') && procStr.includes('\\\\}')) procStr = procStr.split('\\\\}').join('}');\n return procStr;\n }\n constructor(options = {}){\n _define_property(this, \"options\", void 0);\n _define_property(this, \"unsupported\", void 0);\n this.options = options;\n this.unsupported = new Set();\n }\n}\nconst SUB_TEMPLATE = '_{{{0}}}';\nconst SUP_TEMPLATE = '^{{{0}}}';\nfunction ommlNodeToLatex(node, options = {}) {\n return new Converter(options).convert(node);\n}\nfunction findAll(nodes, name, acc = []) {\n for (const node of nodes)if ('string' != typeof node) {\n if (localName(node.tagName) === name) acc.push(node);\n findAll(node.children, name, acc);\n }\n return acc;\n}\nfunction elementChildren(node) {\n return node.children.filter((c)=>'string' != typeof c);\n}\nfunction collectOMathNodes(nodes) {\n const elements = nodes.filter((n)=>'string' != typeof n);\n if (1 === elements.length) {\n const root = elements[0];\n const name = localName(root.tagName);\n if ('oMath' === name) return [\n root\n ];\n if ('oMathPara' === name || 'm' === name) {\n const found = findAll(root.children, 'oMath');\n if (found.length > 0) return found;\n return [];\n }\n }\n return findAll(nodes, 'oMath');\n}\nfunction ommlToLatex(xml, options = {}) {\n const nodes = parse(xml, {\n decodeEntities: true\n });\n const omaths = collectOMathNodes(nodes);\n let out = '';\n for (const omath of omaths)out += ommlNodeToLatex(omath, options);\n return out.trim();\n}\nfunction extractOmmlLatex(xml, options = {}) {\n const nodes = parse(xml, {\n decodeEntities: true\n });\n return findAll(nodes, 'oMath').map((omath)=>ommlNodeToLatex(omath, options).trim());\n}\nexport { elementChildren, escapeLatex, extractOmmlLatex, localName, ommlNodeToLatex, ommlToLatex, textContent, unicodeToLatex };\n\n//# sourceMappingURL=index.js.map","import { ommlNodeToLatex } from 'dwml-ts'\n\nexport function findOMath(obj) {\n let results = []\n if (typeof obj !== 'object') return results\n if (obj['m:oMath']) results = results.concat(obj['m:oMath'])\n \n Object.values(obj).forEach(value => {\n if (Array.isArray(value) || typeof value === 'object') {\n results = results.concat(findOMath(value))\n }\n })\n return results\n}\n\n/**\n * Convert a simplified oMath/oMathPara node to bare LaTeX.\n *\n * Conversion runs on the raw txml node retained by readXmlFile (`__rawNode`)\n * through dwml-ts — a port of the dwml OMML->LaTeX library — instead of the\n * lossy simplified tree. Returns '' when the node carries no convertible math.\n */\nexport function oMathToLatex(simplifiedNode) {\n const rawNode = simplifiedNode && simplifiedNode.__rawNode\n if (!rawNode) return ''\n return latexFormart(ommlNodeToLatex(rawNode)).trim()\n}\n\nconst toArray = value => {\n if (!value) return []\n return Array.isArray(value) ? value : [value]\n}\n\n/**\n * Collect inline math runs of one `<a:p>` node: `<a14:m>` wrappers and bare\n * `<m:oMath>`/`<m:oMathPara>` siblings of the text runs. Each entry carries\n * the document-order attribute so it can be merged into the run list.\n */\nexport function getInlineMathRuns(pNode) {\n const runs = []\n const push = (node, order) => {\n const latex = oMathToLatex(node)\n if (latex) runs.push({ type: 'math', latex, attrs: { order } })\n }\n\n for (const wrapper of toArray(pNode['a14:m'])) {\n const order = (wrapper && wrapper.attrs && wrapper.attrs.order) || 0\n for (const key of ['m:oMath', 'm:oMathPara']) {\n for (const node of toArray(wrapper[key])) push(node, order)\n }\n }\n for (const key of ['m:oMath', 'm:oMathPara']) {\n for (const node of toArray(pNode[key])) {\n push(node, (node && node.attrs && node.attrs.order) || 0)\n }\n }\n return runs\n}\n\nexport function latexFormart(latex) {\n return latex.replaceAll(/&lt;/g, '<')\n .replaceAll(/&gt;/g, '>')\n .replaceAll(/&amp;/g, '&')\n .replaceAll(/&apos;/g, \"'\")\n .replaceAll(/&quot;/g, '\"')\n}\n","import { getSolidFill } from './fill'\nimport { RATIO_EMUs_Points } from './constants'\n\nexport function getShadow(node, warpObj) {\n const chdwClrNode = getSolidFill(node, undefined, undefined, warpObj)\n const outerShdwAttrs = node['attrs']\n const dir = outerShdwAttrs['dir'] ? (parseInt(outerShdwAttrs['dir']) / 60000) : 0\n const dist = outerShdwAttrs['dist'] ? parseInt(outerShdwAttrs['dist']) * RATIO_EMUs_Points : 0\n const blurRad = outerShdwAttrs['blurRad'] ? parseInt(outerShdwAttrs['blurRad']) * RATIO_EMUs_Points : ''\n const vx = dist * Math.sin(dir * Math.PI / 180)\n const hx = dist * Math.cos(dir * Math.PI / 180)\n\n return {\n h: hx,\n v: vx,\n blur: blurRad,\n color: chdwClrNode,\n }\n}","import { getTextByPathList, isOoxmlTrue } from './utils'\nimport { getShadow } from './shadow'\nimport { getFillType, getGradientFill, getSolidFill } from './fill'\n\nfunction pushStyleNode(styleNodes, styleNode) {\n if (styleNode) styleNodes.push(styleNode)\n}\n\nfunction getLevelPath(lvl) {\n return `a:lvl${lvl}pPr`\n}\n\nfunction appendTextBodyStyleNodes(styleNodes, textBodyNode, lvl) {\n if (!textBodyNode) return\n\n const lvlPath = getLevelPath(lvl)\n pushStyleNode(styleNodes, getTextByPathList(textBodyNode, ['a:lstStyle', lvlPath, 'a:defRPr']))\n}\n\nfunction appendShapeStyleNodes(styleNodes, shapeNode, lvl) {\n if (!shapeNode) return\n\n const lvlPath = getLevelPath(lvl)\n pushStyleNode(styleNodes, getTextByPathList(shapeNode, ['p:txBody', 'a:lstStyle', lvlPath, 'a:defRPr']))\n pushStyleNode(styleNodes, getTextByPathList(shapeNode, ['p:txBody', 'a:p', 'a:pPr', 'a:defRPr']))\n}\n\nfunction appendMasterTextStyleNodes(styleNodes, type, lvl, slideMasterTextStyles) {\n if (!slideMasterTextStyles) return\n\n const lvlPath = getLevelPath(lvl)\n\n if (type === 'title' || type === 'ctrTitle' || type === 'subTitle') {\n pushStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:titleStyle', lvlPath, 'a:defRPr']))\n if (type === 'subTitle') {\n pushStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlPath, 'a:defRPr']))\n }\n }\n else if (type === 'body') {\n pushStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlPath, 'a:defRPr']))\n }\n else {\n pushStyleNode(styleNodes, getTextByPathList(slideMasterTextStyles, ['p:otherStyle', lvlPath, 'a:defRPr']))\n }\n}\n\nfunction appendDefaultTextStyleNodes(styleNodes, lvl, defaultTextStyle) {\n if (!defaultTextStyle) return\n\n const lvlPath = getLevelPath(lvl)\n pushStyleNode(styleNodes, getTextByPathList(defaultTextStyle, [lvlPath, 'a:defRPr']))\n pushStyleNode(styleNodes, getTextByPathList(defaultTextStyle, ['a:defPPr', 'a:defRPr']))\n}\n\nfunction getBaseFontStyleNodes(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, lvl) {\n const styleNodes = []\n const runStyleNode = getTextByPathList(node, ['a:rPr'])\n\n pushStyleNode(styleNodes, runStyleNode)\n if (!runStyleNode) {\n pushStyleNode(styleNodes, getTextByPathList(pNode, ['a:endParaRPr']))\n }\n pushStyleNode(styleNodes, getTextByPathList(pNode, ['a:pPr', 'a:defRPr']))\n\n appendTextBodyStyleNodes(styleNodes, textBodyNode, lvl)\n appendShapeStyleNodes(styleNodes, slideLayoutSpNode, lvl)\n appendShapeStyleNodes(styleNodes, slideMasterSpNode, lvl)\n\n return styleNodes\n}\n\nfunction getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n) {\n const styleNodes = getBaseFontStyleNodes(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, lvl)\n appendMasterTextStyleNodes(styleNodes, type, lvl, slideMasterTextStyles)\n\n return styleNodes\n}\n\nfunction getFontAttr(styleNodes, attrName) {\n for (const styleNode of styleNodes) {\n const attrValue = getTextByPathList(styleNode, ['attrs', attrName])\n if (attrValue !== undefined && attrValue !== '') return attrValue\n }\n\n return ''\n}\n\nfunction containsEastAsian(text) {\n // 涵盖中日韩文字、标点符号、全角字符等\n return /[\\u2E80-\\u9FFF\\uF900-\\uFAFF\\uFF00-\\uFF60\\uFFE0-\\uFFE6\\u3000-\\u303F]/.test(text)\n}\n\nfunction getFontTypeface(styleNodes, text) {\n const isEA = containsEastAsian(text)\n\n for (const styleNode of styleNodes) {\n const latin = getTextByPathList(styleNode, ['a:latin', 'attrs', 'typeface'])\n const ea = getTextByPathList(styleNode, ['a:ea', 'attrs', 'typeface'])\n const cs = getTextByPathList(styleNode, ['a:cs', 'attrs', 'typeface'])\n const sym = getTextByPathList(styleNode, ['a:sym', 'attrs', 'typeface'])\n\n if (isEA && ea) return ea\n if (latin) return latin\n if (ea) return ea\n if (cs) return cs\n if (sym) return sym\n }\n\n return ''\n}\n\nfunction getColorFromNode(node, warpObj) {\n if (!node) return ''\n\n const fillType = getFillType(node)\n if (fillType === 'SOLID_FILL') {\n return getSolidFill(node['a:solidFill'], undefined, undefined, warpObj)\n }\n if (fillType === 'GRADIENT_FILL') {\n return getGradientFill(node['a:gradFill'], warpObj)\n }\n\n return ''\n}\n\nfunction getFontColorFromStyleNodes(styleNodes, warpObj) {\n for (const styleNode of styleNodes) {\n const color = getColorFromNode(styleNode, warpObj)\n if (color) return color\n }\n\n return ''\n}\n\nfunction getTextShadowFromStyleNodes(styleNodes, warpObj) {\n for (const styleNode of styleNodes) {\n const txtShadow = getTextByPathList(styleNode, ['a:effectLst', 'a:outerShdw'])\n if (!txtShadow) continue\n\n const shadow = getShadow(txtShadow, warpObj)\n if (shadow) return shadow\n }\n\n return null\n}\n\nexport function getFontType(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl,\n warpObj,\n text\n) {\n const isEA = containsEastAsian(text)\n\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n let typeface = getFontTypeface(styleNodes, text)\n\n if (!typeface || typeface.startsWith('+')) {\n const fontSchemeNode = getTextByPathList(warpObj['themeContent'], ['a:theme', 'a:themeElements', 'a:fontScheme'])\n\n if (fontSchemeNode) {\n if (typeface && typeface.startsWith('+')) {\n switch (typeface) {\n case '+mj-lt':\n return getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:latin', 'attrs', 'typeface'])\n case '+mn-lt':\n return getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:latin', 'attrs', 'typeface'])\n case '+mj-ea':\n return getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:ea', 'attrs', 'typeface'])\n case '+mn-ea':\n return getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:ea', 'attrs', 'typeface'])\n case '+mj-cs':\n return getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:cs', 'attrs', 'typeface'])\n case '+mn-cs':\n return getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:cs', 'attrs', 'typeface'])\n default:\n return typeface.replace(/^\\+/, '')\n }\n }\n }\n\n if (type === 'title' || type === 'subTitle' || type === 'ctrTitle') {\n typeface =\n (isEA ? getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:ea', 'attrs', 'typeface']) : '') ||\n getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:latin', 'attrs', 'typeface']) ||\n getTextByPathList(fontSchemeNode, ['a:majorFont', 'a:ea', 'attrs', 'typeface'])\n }\n else {\n typeface =\n (isEA ? getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:ea', 'attrs', 'typeface']) : '') ||\n getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:latin', 'attrs', 'typeface']) ||\n getTextByPathList(fontSchemeNode, ['a:minorFont', 'a:ea', 'attrs', 'typeface'])\n }\n }\n\n return typeface || ''\n}\n\nexport function getFontColor(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl,\n pFontStyle,\n warpObj\n) {\n // run 级别(a:rPr)是最高优先级。如果明确声明了 noFill,\n // 表示文字颜色为透明,应直接返回 transparent,不再继续向上查找。\n const runStyleNode = getTextByPathList(node, ['a:rPr'])\n if (runStyleNode && getFillType(runStyleNode) === 'NO_FILL') {\n return 'transparent'\n }\n\n const styleNodes = getBaseFontStyleNodes(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, lvl)\n let color = getFontColorFromStyleNodes(styleNodes, warpObj)\n\n if (!color) {\n if (pFontStyle) color = getSolidFill(pFontStyle, undefined, undefined, warpObj)\n if (!color) {\n const layoutFontStyle = getTextByPathList(slideLayoutSpNode, ['p:style', 'a:fontRef'])\n if (layoutFontStyle) color = getSolidFill(layoutFontStyle, undefined, undefined, warpObj)\n }\n if (!color) {\n const masterFontStyle = getTextByPathList(slideMasterSpNode, ['p:style', 'a:fontRef'])\n if (masterFontStyle) color = getSolidFill(masterFontStyle, undefined, undefined, warpObj)\n }\n }\n\n if (!color) {\n appendMasterTextStyleNodes(styleNodes, type, lvl, slideMasterTextStyles)\n color = getFontColorFromStyleNodes(styleNodes, warpObj)\n }\n\n return color || ''\n}\n\nexport function getFontSize(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl,\n defaultTextStyle\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n appendDefaultTextStyleNodes(styleNodes, lvl, defaultTextStyle)\n const sz = getFontAttr(styleNodes, 'sz')\n let fontSize = sz ? parseInt(sz) / 100 : undefined\n\n if ((isNaN(fontSize) || !fontSize) && (type === 'dt' || type === 'sldNum')) fontSize = 12\n\n fontSize = isNaN(fontSize) || !fontSize ? 18 : fontSize\n\n return fontSize + 'pt'\n}\n\nexport function getFontBold(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl) {\n const styleNodes = getFontStyleNodes(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n return isOoxmlTrue(getFontAttr(styleNodes, 'b')) ? 'bold' : ''\n}\n\nexport function getFontItalic(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl) {\n const styleNodes = getFontStyleNodes(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n return isOoxmlTrue(getFontAttr(styleNodes, 'i')) ? 'italic' : ''\n}\n\nexport function getFontDecoration(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n return getFontAttr(styleNodes, 'u') === 'sng' ? 'underline' : ''\n}\n\nexport function getFontDecorationLine(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n return getFontAttr(styleNodes, 'strike') === 'sngStrike' ? 'line-through' : ''\n}\n\nexport function getFontSpace(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n const spc = getFontAttr(styleNodes, 'spc')\n return spc && parseInt(spc) !== 0 ? parseInt(spc) / 100 + 'pt' : ''\n}\n\nexport function getFontSubscript(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n const baseline = getFontAttr(styleNodes, 'baseline')\n if (!baseline || parseInt(baseline) === 0) return ''\n return parseInt(baseline) > 0 ? 'super' : 'sub'\n}\n\nexport function getFontShadow(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl,\n warpObj\n) {\n const styleNodes = getFontStyleNodes(\n node,\n pNode,\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles,\n lvl\n )\n const shadow = getTextShadowFromStyleNodes(styleNodes, warpObj)\n if (shadow) {\n const { h, v, blur, color } = shadow\n if (!isNaN(v) && !isNaN(h)) {\n return h + 'pt ' + v + 'pt ' + (blur ? blur + 'pt' : '') + ' ' + color\n }\n }\n return ''\n}\n","import { getHorizontalAlign, getParagraphSpacing, getParagraphIndent } from './paragraph'\nimport { getTextByPathList, escapeHtml } from './utils'\nimport { getInlineMathRuns } from './math'\n\nimport {\n getFontType,\n getFontColor,\n getFontSize,\n getFontBold,\n getFontItalic,\n getFontDecoration,\n getFontDecorationLine,\n getFontSpace,\n getFontSubscript,\n getFontShadow,\n} from './fontStyle'\n\nexport function getTextNodeValue(node) {\n if (typeof node === 'string') return node\n if (node && typeof node.value === 'string') return node.value\n return undefined\n}\n\nexport function genTextBody(textBodyNode, spNode, slideLayoutSpNode, slideMasterSpNode, type, warpObj) {\n if (!textBodyNode) return ''\n\n let text = ''\n\n const pFontStyle = getTextByPathList(spNode, ['p:style', 'a:fontRef'])\n const slideMasterTextStyles = spNode && spNode['a:tcPr'] ? undefined : warpObj['slideMasterTextStyles']\n const defaultTextStyle = spNode && spNode['a:tcPr'] ? warpObj['defaultTextStyle'] : undefined\n\n const pNode = textBodyNode['a:p']\n const pNodes = pNode.constructor === Array ? pNode : [pNode]\n\n const listTypes = []\n\n for (const pNode of pNodes) {\n let rNode = pNode['a:r']\n let fldNode = pNode['a:fld']\n let brNode = pNode['a:br']\n if (rNode) {\n rNode = (rNode.constructor === Array) ? rNode : [rNode]\n\n if (fldNode) {\n fldNode = (fldNode.constructor === Array) ? fldNode : [fldNode]\n rNode = rNode.concat(fldNode)\n }\n if (brNode) {\n brNode = (brNode.constructor === Array) ? brNode : [brNode]\n brNode.forEach(item => item.type = 'br')\n \n if (brNode.length > 1) brNode.shift()\n rNode = rNode.concat(brNode)\n rNode.sort((a, b) => {\n if (!a.attrs || !b.attrs) return true\n return a.attrs.order - b.attrs.order\n })\n }\n }\n\n // Inline OMML math (<a14:m>/<m:oMath> siblings of <a:r>) — merge into the\n // run list by document order so equations keep their place in the text.\n const mathRuns = getInlineMathRuns(pNode)\n if (mathRuns.length) {\n rNode = (rNode || []).concat(mathRuns)\n rNode.sort((a, b) => ((a.attrs && a.attrs.order) || 0) - ((b.attrs && b.attrs.order) || 0))\n }\n\n const align = getHorizontalAlign(pNode, spNode, type, slideLayoutSpNode, slideMasterSpNode, warpObj)\n const spacing = getParagraphSpacing(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj)\n const indent = getParagraphIndent(pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, warpObj)\n const listType = getListType(pNode)\n const listLevel = getListLevel(pNode)\n\n let alignStyle = align\n if (align === 'distribute') alignStyle = 'justify'\n let styleText = `text-align: ${alignStyle};line-height: 1.2;`\n if (align === 'distribute') styleText += `text-align-last: justify;text-justify: distribute;`\n if (spacing) {\n if (spacing.lineSpacing) styleText += `line-height: ${spacing.lineSpacing};`\n if (spacing.spaceBefore) styleText += `margin-top: ${spacing.spaceBefore};`\n if (spacing.spaceAfter) styleText += `margin-bottom: ${spacing.spaceAfter};`\n }\n if (indent) {\n if (!listType && indent.marginLeft) styleText += `margin-left: ${indent.marginLeft};`\n if (!listType && indent.textIndent) styleText += `text-indent: ${indent.textIndent};`\n }\n\n if (listType) {\n while (listTypes.length > listLevel + 1) {\n const closedListType = listTypes.pop()\n text += `</${closedListType}>`\n }\n\n if (listTypes[listLevel] === undefined) {\n text += `<${listType}>`\n listTypes[listLevel] = listType\n }\n else if (listTypes[listLevel] !== listType) {\n text += `</${listTypes[listLevel]}>`\n text += `<${listType}>`\n listTypes[listLevel] = listType\n }\n text += `<li><p style=\"${styleText}\">`\n }\n else {\n while (listTypes.length > 0) {\n const closedListType = listTypes.pop()\n text += `</${closedListType}>`\n }\n text += `<p style=\"${styleText}\">`\n }\n \n if (!rNode) {\n text += genSpanElement(pNode, spNode, textBodyNode, pFontStyle, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, defaultTextStyle, warpObj)\n } \n else {\n let prevStyleInfo = null\n let accumulatedText = ''\n\n for (const rNodeItem of rNode) {\n if (rNodeItem.type === 'math') {\n if (accumulatedText && prevStyleInfo) {\n const processedText = accumulatedText.replace(/\\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\\s/g, '&nbsp;')\n text += `<span style=\"${prevStyleInfo.styleText}\">${processedText}</span>`\n }\n accumulatedText = ''\n prevStyleInfo = null\n\n const latex = escapeHtml(rNodeItem.latex)\n text += `<span class=\"omml-math\" data-latex=\"${latex}\">${latex}</span>`\n continue\n }\n\n const styleInfo = getSpanStyleInfo(rNodeItem, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, defaultTextStyle, warpObj)\n\n if (!prevStyleInfo || prevStyleInfo.styleText !== styleInfo.styleText || prevStyleInfo.hasLink !== styleInfo.hasLink || styleInfo.hasLink) {\n if (accumulatedText) {\n const processedText = accumulatedText.replace(/\\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\\s/g, '&nbsp;')\n text += `<span style=\"${prevStyleInfo.styleText}\">${processedText}</span>`\n accumulatedText = ''\n }\n\n if (styleInfo.hasLink) {\n const processedText = styleInfo.text.replace(/\\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\\s/g, '&nbsp;')\n text += `<span style=\"${styleInfo.styleText}\"><a href=\"${styleInfo.linkURL}\" target=\"_blank\">${processedText}</a></span>`\n prevStyleInfo = null\n } \n else {\n prevStyleInfo = styleInfo\n accumulatedText = styleInfo.text\n }\n } \n else accumulatedText += styleInfo.text\n }\n\n if (accumulatedText && prevStyleInfo) {\n const processedText = accumulatedText.replace(/\\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\\s/g, '&nbsp;')\n text += `<span style=\"${prevStyleInfo.styleText}\">${processedText}</span>`\n }\n }\n\n if (listType) text += '</p></li>'\n else text += '</p>'\n }\n while (listTypes.length > 0) {\n const closedListType = listTypes.pop()\n text += `</${closedListType}>`\n }\n return text\n}\n\nexport function getListType(node) {\n const pPrNode = node['a:pPr']\n if (!pPrNode) return ''\n\n if (pPrNode['a:buNone']) return ''\n\n const hasContent = node['a:r'] || node['a:br'] || node['a:fld']\n if (!hasContent) return ''\n\n if (pPrNode['a:buChar']) return 'ul'\n if (pPrNode['a:buAutoNum']) return 'ol'\n \n return ''\n}\nexport function getListLevel(node) {\n const pPrNode = node['a:pPr']\n if (!pPrNode) return -1\n\n const lvlNode = getTextByPathList(pPrNode, ['attrs', 'lvl'])\n if (lvlNode !== undefined) return parseInt(lvlNode)\n\n return 0\n}\n\nexport function genSpanElement(node, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, defaultTextStyle, warpObj) {\n const { styleText, text, hasLink, linkURL } = getSpanStyleInfo(node, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, defaultTextStyle, warpObj)\n const processedText = text.replace(/\\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/\\s/g, '&nbsp;')\n\n if (hasLink) {\n return `<span style=\"${styleText}\"><a href=\"${linkURL}\" target=\"_blank\">${processedText}</a></span>`\n }\n return `<span style=\"${styleText}\">${processedText}</span>`\n}\n\nexport function getSpanStyleInfo(node, pNode, textBodyNode, pFontStyle, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, defaultTextStyle, warpObj) {\n let lvl = 1\n const pPrNode = pNode['a:pPr']\n const lvlNode = getTextByPathList(pPrNode, ['attrs', 'lvl'])\n if (lvlNode !== undefined) lvl = parseInt(lvlNode) + 1\n\n let text = getTextNodeValue(node['a:t'])\n if (typeof text !== 'string') text = getTextNodeValue(getTextByPathList(node, ['a:fld', 'a:t']))\n if (typeof text !== 'string') text = '&nbsp;'\n\n let styleText = ''\n const fontColor = getFontColor(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl, pFontStyle, warpObj)\n const fontSize = getFontSize(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl, defaultTextStyle)\n const fontType = getFontType(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl, warpObj, text)\n const fontBold = getFontBold(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n const fontItalic = getFontItalic(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n const fontDecoration = getFontDecoration(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n const fontDecorationLine = getFontDecorationLine(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n const fontSpace = getFontSpace(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n const shadow = getFontShadow(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl, warpObj)\n const subscript = getFontSubscript(node, pNode, textBodyNode, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles, lvl)\n\n if (fontColor) {\n if (typeof fontColor === 'string') styleText += `color: ${fontColor};`\n else if (fontColor.colors) {\n const { colors, rot } = fontColor\n const stops = colors.map(item => `${item.color} ${item.pos}`).join(', ')\n const gradientStyle = `linear-gradient(${rot + 90}deg, ${stops})`\n styleText += `background: ${gradientStyle}; background-clip: text; color: transparent;`\n }\n }\n if (fontSize) styleText += `font-size: ${fontSize};`\n if (fontType) styleText += `font-family: ${fontType};`\n if (fontBold) styleText += `font-weight: ${fontBold};`\n if (fontItalic) styleText += `font-style: ${fontItalic};`\n if (fontDecoration) styleText += `text-decoration: ${fontDecoration};`\n if (fontDecorationLine) styleText += `text-decoration-line: ${fontDecorationLine};`\n if (fontSpace) styleText += `letter-spacing: ${fontSpace};`\n if (subscript) styleText += `vertical-align: ${subscript};`\n if (shadow) styleText += `text-shadow: ${shadow};`\n\n const linkID = getTextByPathList(node, ['a:rPr', 'a:hlinkClick', 'attrs', 'r:id'])\n const hasLink = linkID && warpObj['slideResObj'][linkID]\n\n return {\n styleText,\n text,\n hasLink,\n linkURL: hasLink ? warpObj['slideResObj'][linkID]['target'] : null\n }\n}\n","import { getTextByPathList } from './utils'\n\nexport function shapeArc(cX, cY, rX, rY, stAng, endAng, isClose) {\n let dData\n let angle = stAng\n if (endAng >= stAng) {\n while (angle <= endAng) {\n const radians = angle * (Math.PI / 180)\n const x = cX + Math.cos(radians) * rX\n const y = cY + Math.sin(radians) * rY\n if (angle === stAng) {\n dData = ' M' + x + ' ' + y\n }\n dData += ' L' + x + ' ' + y\n angle++\n }\n } \n else {\n while (angle > endAng) {\n const radians = angle * (Math.PI / 180)\n const x = cX + Math.cos(radians) * rX\n const y = cY + Math.sin(radians) * rY\n if (angle === stAng) {\n dData = ' M ' + x + ' ' + y\n }\n dData += ' L ' + x + ' ' + y\n angle--\n }\n }\n dData += (isClose ? ' z' : '')\n return dData\n}\n\nexport function getCustomShapePath(custShapType, w, h) {\n const pathLstNode = getTextByPathList(custShapType, ['a:pathLst'])\n let pathNodes = getTextByPathList(pathLstNode, ['a:path'])\n\n if (Array.isArray(pathNodes)) pathNodes = pathNodes.shift()\n\n const maxX = parseInt(pathNodes['attrs']['w']) || 0\n const maxY = parseInt(pathNodes['attrs']['h']) || 0\n const cX = maxX === 0 ? 0 : (1 / maxX) * w\n const cY = maxY === 0 ? 0 : (1 / maxY) * h\n let d = ''\n\n let moveToNode = getTextByPathList(pathNodes, ['a:moveTo'])\n\n let lnToNodes = pathNodes['a:lnTo']\n let cubicBezToNodes = pathNodes['a:cubicBezTo']\n let quadBezToNodes = pathNodes['a:quadBezTo']\n const arcToNodes = pathNodes['a:arcTo']\n let closeNode = getTextByPathList(pathNodes, ['a:close'])\n if (!Array.isArray(moveToNode)) moveToNode = [moveToNode]\n\n const multiSapeAry = []\n if (moveToNode.length > 0) {\n Object.keys(moveToNode).forEach(key => {\n if (!moveToNode[key]) return\n const moveToPtNode = moveToNode[key]['a:pt']\n if (moveToPtNode) {\n Object.keys(moveToPtNode).forEach(key => {\n const moveToNoPt = moveToPtNode[key]\n const spX = moveToNoPt['x']\n const spY = moveToNoPt['y']\n const order = moveToNoPt['order']\n multiSapeAry.push({\n type: 'movto',\n x: spX,\n y: spY,\n order,\n })\n })\n }\n })\n if (lnToNodes) {\n if (!Array.isArray(lnToNodes)) lnToNodes = [lnToNodes]\n Object.keys(lnToNodes).forEach(key => {\n if (!lnToNodes[key]) return\n const lnToPtNode = lnToNodes[key]['a:pt']\n if (lnToPtNode) {\n Object.keys(lnToPtNode).forEach(key => {\n const lnToNoPt = lnToPtNode[key]\n const ptX = lnToNoPt['x']\n const ptY = lnToNoPt['y']\n const order = lnToNoPt['order']\n multiSapeAry.push({\n type: 'lnto',\n x: ptX,\n y: ptY,\n order,\n })\n })\n }\n })\n }\n if (cubicBezToNodes) {\n const cubicBezToPtNodesAry = []\n if (!Array.isArray(cubicBezToNodes)) cubicBezToNodes = [cubicBezToNodes]\n Object.keys(cubicBezToNodes).forEach(key => {\n if (!cubicBezToNodes[key] || !cubicBezToNodes[key]['a:pt']) return\n cubicBezToPtNodesAry.push(cubicBezToNodes[key]['a:pt'])\n })\n\n cubicBezToPtNodesAry.forEach(key => {\n const pts_ary = []\n key.forEach(pt => {\n const pt_obj = {\n x: pt['attrs']['x'],\n y: pt['attrs']['y'],\n }\n pts_ary.push(pt_obj)\n })\n const order = key[0]['attrs']['order']\n multiSapeAry.push({\n type: 'cubicBezTo',\n cubBzPt: pts_ary,\n order,\n })\n })\n }\n if (quadBezToNodes) {\n const quadBezToPtNodesAry = []\n if (!Array.isArray(quadBezToNodes)) quadBezToNodes = [quadBezToNodes]\n Object.keys(quadBezToNodes).forEach(key => {\n if (!quadBezToNodes[key] || !quadBezToNodes[key]['a:pt']) return\n quadBezToPtNodesAry.push(quadBezToNodes[key]['a:pt'])\n })\n\n quadBezToPtNodesAry.forEach(key => {\n const pts_ary = []\n key.forEach(pt => {\n const pt_obj = {\n x: pt['attrs']['x'],\n y: pt['attrs']['y'],\n }\n pts_ary.push(pt_obj)\n })\n const order = key[0]['attrs']['order']\n multiSapeAry.push({\n type: 'quadBezTo',\n quadBzPt: pts_ary,\n order,\n })\n })\n }\n if (arcToNodes) {\n const arcToNodesAry = Array.isArray(arcToNodes) ? arcToNodes : [arcToNodes]\n arcToNodesAry.forEach(arcToNodes => {\n const arcToNodesAttrs = arcToNodes['attrs']\n const order = arcToNodesAttrs['order']\n const hR = arcToNodesAttrs['hR']\n const wR = arcToNodesAttrs['wR']\n const stAng = arcToNodesAttrs['stAng']\n const swAng = arcToNodesAttrs['swAng']\n let shftX = 0\n let shftY = 0\n const arcToPtNode = getTextByPathList(arcToNodes, ['a:pt', 'attrs'])\n if (arcToPtNode) {\n shftX = arcToPtNode['x']\n shftY = arcToPtNode['y']\n }\n multiSapeAry.push({\n type: 'arcTo',\n hR,\n wR,\n stAng,\n swAng,\n shftX,\n shftY,\n order,\n })\n })\n }\n if (closeNode) {\n if (!Array.isArray(closeNode)) closeNode = [closeNode]\n Object.keys(closeNode).forEach(() => {\n multiSapeAry.push({\n type: 'close',\n order: Infinity,\n })\n })\n }\n\n multiSapeAry.sort((a, b) => a.order - b.order)\n\n let k = 0\n while (k < multiSapeAry.length) {\n if (multiSapeAry[k].type === 'movto') {\n const spX = parseInt(multiSapeAry[k].x) * cX\n const spY = parseInt(multiSapeAry[k].y) * cY\n d += ' M' + spX + ',' + spY\n } \n else if (multiSapeAry[k].type === 'lnto') {\n const Lx = parseInt(multiSapeAry[k].x) * cX\n const Ly = parseInt(multiSapeAry[k].y) * cY\n d += ' L' + Lx + ',' + Ly\n } \n else if (multiSapeAry[k].type === 'cubicBezTo') {\n const Cx1 = parseInt(multiSapeAry[k].cubBzPt[0].x) * cX\n const Cy1 = parseInt(multiSapeAry[k].cubBzPt[0].y) * cY\n const Cx2 = parseInt(multiSapeAry[k].cubBzPt[1].x) * cX\n const Cy2 = parseInt(multiSapeAry[k].cubBzPt[1].y) * cY\n const Cx3 = parseInt(multiSapeAry[k].cubBzPt[2].x) * cX\n const Cy3 = parseInt(multiSapeAry[k].cubBzPt[2].y) * cY\n d += ' C' + Cx1 + ',' + Cy1 + ' ' + Cx2 + ',' + Cy2 + ' ' + Cx3 + ',' + Cy3\n }\n else if (multiSapeAry[k].type === 'quadBezTo') {\n const Qx1 = parseInt(multiSapeAry[k].quadBzPt[0].x) * cX\n const Qy1 = parseInt(multiSapeAry[k].quadBzPt[0].y) * cY\n const Qx2 = parseInt(multiSapeAry[k].quadBzPt[1].x) * cX\n const Qy2 = parseInt(multiSapeAry[k].quadBzPt[1].y) * cY\n d += ' Q' + Qx1 + ',' + Qy1 + ' ' + Qx2 + ',' + Qy2\n }\n else if (multiSapeAry[k].type === 'arcTo') {\n const hR = parseInt(multiSapeAry[k].hR) * cX\n const wR = parseInt(multiSapeAry[k].wR) * cY\n const stAng = parseInt(multiSapeAry[k].stAng) / 60000\n const swAng = parseInt(multiSapeAry[k].swAng) / 60000\n const endAng = stAng + swAng\n d += shapeArc(wR, hR, wR, hR, stAng, endAng, false)\n }\n else if (multiSapeAry[k].type === 'close') d += 'z'\n k++\n }\n }\n\n return d\n}\n\nexport function isStrokeOnlyCustomGeometry(custShapType) {\n const pathNodes = getTextByPathList(custShapType, ['a:pathLst', 'a:path'])\n if (!pathNodes) return false\n\n const pathNodeList = Array.isArray(pathNodes) ? pathNodes : [pathNodes]\n\n return pathNodeList.length === 1 && getTextByPathList(pathNodeList[0], ['attrs', 'fill']) === 'none'\n}\n\nexport function identifyShape(shapeData) {\n const pathLst = shapeData['a:pathLst']\n if (!pathLst || !pathLst['a:path']) return 'custom'\n\n const path = pathLst['a:path']\n const pathWidth = parseInt(path.attrs?.w) || 0\n const pathHeight = parseInt(path.attrs?.h) || 0\n\n const commands = extractPathCommands(path)\n \n if (commands.length === 0) return 'custom'\n\n const analysis = analyzePathCommands(commands, pathWidth, pathHeight)\n \n return matchShape(analysis)\n}\n\nfunction extractPathCommands(path) {\n const commands = []\n \n if (path['a:moveTo']) {\n const moveTo = path['a:moveTo']\n const pt = moveTo['a:pt']\n if (pt) {\n commands.push({\n type: 'moveTo',\n points: [{ x: parseInt(pt.attrs?.x) || 0, y: parseInt(pt.attrs?.y) || 0 }]\n })\n }\n }\n\n const lineToList = normalizeToArray(path['a:lnTo'])\n lineToList.forEach(lnTo => {\n const pt = lnTo['a:pt']\n if (pt) {\n commands.push({\n type: 'lineTo',\n points: [{ x: parseInt(pt.attrs?.x) || 0, y: parseInt(pt.attrs?.y) || 0 }]\n })\n }\n })\n\n const cubicList = normalizeToArray(path['a:cubicBezTo'])\n cubicList.forEach(cubic => {\n const pts = normalizeToArray(cubic['a:pt'])\n const points = pts.map(pt => ({\n x: parseInt(pt.attrs?.x) || 0,\n y: parseInt(pt.attrs?.y) || 0\n }))\n if (points.length === 3) {\n commands.push({ type: 'cubicBezTo', points })\n }\n })\n\n const arcList = normalizeToArray(path['a:arcTo'])\n arcList.forEach(arc => {\n commands.push({\n type: 'arcTo',\n wR: parseInt(arc.attrs?.wR) || 0,\n hR: parseInt(arc.attrs?.hR) || 0,\n stAng: parseInt(arc.attrs?.stAng) || 0,\n swAng: parseInt(arc.attrs?.swAng) || 0\n })\n })\n\n const quadList = normalizeToArray(path['a:quadBezTo'])\n quadList.forEach(quad => {\n const pts = normalizeToArray(quad['a:pt'])\n const points = pts.map(pt => ({\n x: parseInt(pt.attrs?.x) || 0,\n y: parseInt(pt.attrs?.y) || 0\n }))\n commands.push({ type: 'quadBezTo', points })\n })\n\n if (path['a:close']) {\n commands.push({ type: 'close' })\n }\n\n return commands\n}\n\nfunction normalizeToArray(value) {\n if (!value) return []\n return Array.isArray(value) ? value : [value]\n}\n\nfunction analyzePathCommands(commands, pathWidth, pathHeight) {\n const analysis = {\n lineCount: 0,\n curveCount: 0,\n arcCount: 0,\n isClosed: false,\n vertices: [],\n aspectRatio: pathHeight !== 0 ? pathWidth / pathHeight : 1,\n pathWidth,\n pathHeight,\n hasCurves: false,\n isCircular: false,\n commands\n }\n\n commands.forEach(cmd => {\n switch (cmd.type) {\n case 'moveTo':\n analysis.vertices.push(cmd.points[0])\n break\n case 'lineTo':\n analysis.lineCount++\n analysis.vertices.push(cmd.points[0])\n break\n case 'cubicBezTo':\n analysis.curveCount++\n analysis.hasCurves = true\n if (cmd.points.length === 3) {\n analysis.vertices.push(cmd.points[2])\n }\n break\n case 'quadBezTo':\n analysis.curveCount++\n analysis.hasCurves = true\n if (cmd.points.length >= 2) {\n analysis.vertices.push(cmd.points[cmd.points.length - 1])\n }\n break\n case 'arcTo':\n analysis.arcCount++\n analysis.hasCurves = true\n break\n case 'close':\n analysis.isClosed = true\n break\n default:\n break\n }\n })\n\n if (analysis.curveCount === 4 && analysis.lineCount === 0 && analysis.isClosed) {\n analysis.isCircular = checkIfCircular(commands, pathWidth, pathHeight)\n }\n\n return analysis\n}\n\nfunction checkIfCircular(commands, width, height) {\n const bezierCommands = commands.filter(c => c.type === 'cubicBezTo')\n if (bezierCommands.length !== 4) return false\n\n const endpoints = bezierCommands.map(cmd => cmd.points[2])\n \n const hasTop = endpoints.some(p => Math.abs(p.y) < height * 0.1)\n const hasBottom = endpoints.some(p => Math.abs(p.y - height) < height * 0.1)\n const hasLeft = endpoints.some(p => Math.abs(p.x) < width * 0.1)\n const hasRight = endpoints.some(p => Math.abs(p.x - width) < width * 0.1)\n\n return (hasTop || hasBottom) && (hasLeft || hasRight)\n}\n\nfunction matchShape(analysis) {\n const { \n lineCount,\n curveCount,\n isClosed,\n vertices,\n hasCurves,\n isCircular,\n pathWidth,\n pathHeight,\n } = analysis\n\n if (isCircular) return 'ellipse'\n\n if (analysis.arcCount >= 2 && isClosed && lineCount === 0) return 'ellipse'\n\n if (!hasCurves && isClosed && vertices.length >= 3) return matchPolygon(vertices, pathWidth, pathHeight)\n\n if (lineCount === 4 && curveCount === 4 && isClosed) return 'roundRect'\n\n if (lineCount >= 3 && curveCount > 0 && curveCount <= lineCount && isClosed) {\n const baseShape = matchPolygonByLineCount(lineCount)\n if (baseShape !== 'custom') return baseShape === 'rectangle' ? 'roundRect' : baseShape\n }\n return 'custom'\n}\n\nfunction matchPolygon(vertices, width, height) {\n const uniqueVertices = removeDuplicateVertices(vertices)\n const vertexCount = uniqueVertices.length\n\n switch (vertexCount) {\n case 3:\n return 'triangle'\n case 4:\n return matchQuadrilateral(uniqueVertices, width, height)\n case 5:\n return 'pentagon'\n case 6:\n return 'hexagon'\n case 7:\n return 'heptagon'\n case 8:\n return 'octagon'\n default:\n if (vertexCount > 8) {\n return 'ellipse'\n }\n return 'custom'\n }\n}\n\nfunction removeDuplicateVertices(vertices) {\n const threshold = 100\n const unique = []\n \n vertices.forEach(v => {\n const isDuplicate = unique.some(u => \n Math.abs(u.x - v.x) < threshold && Math.abs(u.y - v.y) < threshold\n )\n if (!isDuplicate) unique.push(v)\n })\n \n return unique\n}\n\nfunction matchQuadrilateral(vertices) {\n if (vertices.length !== 4) return 'custom'\n\n const edges = []\n for (let i = 0; i < 4; i++) {\n const p1 = vertices[i]\n const p2 = vertices[(i + 1) % 4]\n edges.push({\n dx: p2.x - p1.x,\n dy: p2.y - p1.y,\n length: Math.sqrt((p2.x - p1.x) ** 2 + (p2.y - p1.y) ** 2)\n })\n }\n\n if (isRectangle(edges)) return 'roundRect'\n if (isRhombus(edges)) return 'rhombus'\n if (isParallelogram(edges)) return 'parallelogram'\n if (isTrapezoid(edges)) return 'trapezoid'\n\n return 'custom'\n}\n\nfunction isRectangle(edges) {\n const tolerance = 0.1\n const edge02Similar = Math.abs(edges[0].length - edges[2].length) / Math.max(edges[0].length, edges[2].length) < tolerance\n const edge13Similar = Math.abs(edges[1].length - edges[3].length) / Math.max(edges[1].length, edges[3].length) < tolerance\n \n if (!edge02Similar || !edge13Similar) return false\n\n for (let i = 0; i < 4; i++) {\n const e1 = edges[i]\n const e2 = edges[(i + 1) % 4]\n const dotProduct = e1.dx * e2.dx + e1.dy * e2.dy\n const cosAngle = dotProduct / (e1.length * e2.length)\n if (Math.abs(cosAngle) > 0.1) return false\n }\n \n return true\n}\n\nfunction isRhombus(edges) {\n const tolerance = 0.1\n const avgLength = edges.reduce((sum, e) => sum + e.length, 0) / 4\n \n return edges.every(e => Math.abs(e.length - avgLength) / avgLength < tolerance)\n}\n\nfunction isParallelogram(edges) {\n const tolerance = 0.15\n \n const slope0 = edges[0].dx !== 0 ? edges[0].dy / edges[0].dx : Infinity\n const slope2 = edges[2].dx !== 0 ? edges[2].dy / edges[2].dx : Infinity\n const slope1 = edges[1].dx !== 0 ? edges[1].dy / edges[1].dx : Infinity\n const slope3 = edges[3].dx !== 0 ? edges[3].dy / edges[3].dx : Infinity\n\n const parallel02 = Math.abs(slope0 - slope2) < tolerance || \n (Math.abs(slope0) > 1000 && Math.abs(slope2) > 1000)\n const parallel13 = Math.abs(slope1 - slope3) < tolerance ||\n (Math.abs(slope1) > 1000 && Math.abs(slope3) > 1000)\n\n return parallel02 && parallel13\n}\n\nfunction isTrapezoid(edges) {\n const tolerance = 0.15\n \n const slope0 = edges[0].dx !== 0 ? edges[0].dy / edges[0].dx : Infinity\n const slope2 = edges[2].dx !== 0 ? edges[2].dy / edges[2].dx : Infinity\n const slope1 = edges[1].dx !== 0 ? edges[1].dy / edges[1].dx : Infinity\n const slope3 = edges[3].dx !== 0 ? edges[3].dy / edges[3].dx : Infinity\n\n const parallel02 = Math.abs(slope0 - slope2) < tolerance ||\n (Math.abs(slope0) > 1000 && Math.abs(slope2) > 1000)\n const parallel13 = Math.abs(slope1 - slope3) < tolerance ||\n (Math.abs(slope1) > 1000 && Math.abs(slope3) > 1000)\n\n return (parallel02 && !parallel13) || (!parallel02 && parallel13)\n}\n\nfunction matchPolygonByLineCount(lineCount) {\n switch (lineCount) {\n case 3: return 'triangle'\n case 4: return 'rectangle'\n case 5: return 'pentagon'\n case 6: return 'hexagon'\n case 7: return 'heptagon'\n case 8: return 'octagon'\n default: return 'custom'\n }\n}","/**\n * 将 EOT (.fntdata / .eot) 格式转换为 TTF 格式\n * EOT 文件结构:\n * - 0x00-0x03: EOT 头大小\n * - 0x04-0x07: 字体数据大小\n * - 0x08-0x0B: 版本号\n * - 0x0C-0x53: 字体元数据(Panose、字符集等)\n * - 0x54-...: 字体名称字符串\n * - ...: 可选的 RootString、签名等\n * - 最后部分:嵌入的 TTF/OTF 数据\n *\n * @param {ArrayBuffer} eotBuffer - EOT 文件数据\n * @returns {Uint8Array|null} TTF 数据,如果解析失败返回 null\n */\nfunction convertEOTtoTTF(eotBuffer) {\n const data = new DataView(eotBuffer)\n const bytes = new Uint8Array(eotBuffer)\n\n try {\n // 读取 EOT 头信息\n const eotSize = data.getUint32(0, true) // little-endian\n const fontDataSize = data.getUint32(4, true)\n const version = data.getUint32(8, true)\n const magicNumber = data.getUint16(34, true)\n\n // 验证 EOT 格式\n if (magicNumber !== 0x504c) {\n return null\n }\n\n // 验证版本(支持 1.0, 2.1, 2.2)\n if (version !== 0x00010000 && version !== 0x00020001 && version !== 0x00020002) {\n return null\n }\n\n // 计算 TTF 数据的起始位置\n // TTF 数据位于 EOT 文件的末尾,大小为 fontDataSize\n const ttfOffset = eotSize - fontDataSize\n\n if (ttfOffset < 0 || ttfOffset >= eotSize) {\n return null\n }\n\n // 提取 TTF 数据\n const ttfBytes = bytes.slice(ttfOffset, eotSize)\n\n // 验证 TTF 魔数\n if (ttfBytes.length >= 4) {\n const ttfMagic = (ttfBytes[0] << 24) | (ttfBytes[1] << 16) | (ttfBytes[2] << 8) | ttfBytes[3]\n if (ttfMagic !== 0x00010000 && ttfMagic !== 0x4f54544f) {\n return null\n }\n }\n\n return ttfBytes\n }\n catch (e) {\n return null\n }\n}\n\n/**\n * 从 JSZip 中读取字体文件,返回 Blob URL\n * 支持的格式:\n * - .fntdata / .eot - EOT 格式(PowerPoint 嵌入字体),会转换为 TTF\n * - 其他格式不处理\n */\nexport async function getFontData(zip, fontPath) {\n const fontFilename = fontPath.split('/').pop()\n\n try {\n const fontFile = zip.file(fontPath)\n if (!fontFile) return ''\n\n // 只处理 .fntdata 和 .eot 格式\n if (!fontFilename.toLowerCase().endsWith('.fntdata') && !fontFilename.toLowerCase().endsWith('.eot')) {\n return ''\n }\n\n const buffer = await fontFile.async('arraybuffer')\n\n // 将 EOT 转换为 TTF\n const ttfBytes = convertEOTtoTTF(buffer)\n if (!ttfBytes) {\n return ''\n }\n\n const mimeType = 'font/ttf'\n const blobObj = new Blob([ttfBytes], { type: mimeType })\n return URL.createObjectURL(blobObj)\n }\n catch (e) {\n return ''\n }\n}\n\nconst SYSTEM_FONT_FALLBACK_MAP = {\n // ========== 中文字体 ==========\n // 微软字体\n 微软雅黑: 'Microsoft YaHei, PingFang SC, Noto Sans CJK SC, sans-serif',\n 'Microsoft YaHei': 'Microsoft YaHei, PingFang SC, Noto Sans CJK SC, sans-serif',\n 'Microsoft YaHei UI': 'Microsoft YaHei UI, Microsoft YaHei, PingFang SC, sans-serif',\n '微软雅黑 UI': 'Microsoft YaHei UI, Microsoft YaHei, PingFang SC, sans-serif',\n 宋体: 'SimSun, STSong, serif',\n SimSun: 'SimSun, STSong, serif',\n 新宋体: 'NSimSun, SimSun, STSong, serif',\n NSimSun: 'NSimSun, SimSun, serif',\n 黑体: 'SimHei, STHeiti, Heiti SC, sans-serif',\n SimHei: 'SimHei, STHeiti, sans-serif',\n 仿宋: 'FangSong, STFangSong, serif',\n FangSong: 'FangSong, STFangSong, serif',\n 楷体: 'KaiTi, STKaiti, serif',\n KaiTi: 'KaiTi, STKaiti, serif',\n 仿宋_GB2312: 'FangSong_GB2312, FangSong, serif',\n 楷体_GB2312: 'KaiTi_GB2312, KaiTi, serif',\n 方正舒体: 'FZShuTi, STSong, serif',\n 方正姚体: 'FZYaoti, STSong, serif',\n 华文细黑: 'STXihei, Microsoft YaHei, sans-serif',\n 华文楷体: 'STKaiti, KaiTi, serif',\n 华文宋体: 'STSong, SimSun, serif',\n STSong: 'STSong, SimSun, serif',\n 华文中宋: 'STZhongsong, SimSun, serif',\n 华文仿宋: 'STFangSong, FangSong, serif',\n 华文彩云: 'STCaiyun, STSong, serif',\n 华文琥珀: 'STHupo, STSong, serif',\n 华文隶书: 'STLiti, serif',\n 华文行楷: 'STXingkai, serif',\n 华文新魏: 'STXinwei, serif',\n STHeiti: 'STHeiti, SimHei, sans-serif',\n 苹方: 'PingFang SC, Helvetica Neue, sans-serif',\n 'PingFang SC': 'PingFang SC, Helvetica Neue, sans-serif',\n 'PingFang TC': 'PingFang TC, PingFang SC, sans-serif',\n 'PingFang HK': 'PingFang HK, PingFang SC, sans-serif',\n 冬青黑体: 'Hiragino Sans GB, Microsoft YaHei, sans-serif',\n 'Hiragino Sans GB': 'Hiragino Sans GB, Microsoft YaHei, sans-serif',\n 幼圆: 'YouYuan, SimSun, sans-serif',\n YouYuan: 'YouYuan, SimSun, sans-serif',\n 隶书: 'LiSu, STLiti, serif',\n LiSu: 'LiSu, STLiti, serif',\n // 思源字体\n 'Noto Sans CJK SC': 'Noto Sans CJK SC, Microsoft YaHei, sans-serif',\n 'Noto Serif CJK SC': 'Noto Serif CJK SC, SimSun, serif',\n 'Source Han Sans CN': 'Source Han Sans CN, Microsoft YaHei, sans-serif',\n 'Source Han Serif CN': 'Source Han Serif CN, SimSun, serif',\n\n // ========== 日韩字体 ==========\n Meiryo: 'Meiryo, Microsoft YaHei, sans-serif',\n 'Meiryo UI': 'Meiryo UI, Meiryo, sans-serif',\n 'MS Gothic': 'MS Gothic, monospace',\n 'MS PGothic': 'MS PGothic, sans-serif',\n 'MS Mincho': 'MS Mincho, serif',\n 'Yu Gothic': 'Yu Gothic, Meiryo, sans-serif',\n 'Yu Mincho': 'Yu Mincho, serif',\n 'Malgun Gothic': 'Malgun Gothic, Apple SD Gothic Neo, sans-serif',\n Batang: 'Batang, serif',\n Gulim: 'Gulim, sans-serif',\n Dotum: 'Dotum, sans-serif',\n\n // ========== Office / Windows 内置英文字体 ==========\n Calibri: 'Calibri, Carlito, Helvetica Neue, Arial, sans-serif',\n Cambria: 'Cambria, Georgia, serif',\n 'Cambria Math': 'Cambria Math, Cambria, Georgia, serif',\n Candara: 'Candara, Optima, sans-serif',\n Consolas: 'Consolas, Menlo, monospace',\n Constantia: 'Constantia, Palatino, serif',\n Corbel: 'Corbel, Skia, sans-serif',\n 'Franklin Gothic Medium': 'Franklin Gothic Medium, Arial Narrow, sans-serif',\n 'Gill Sans MT': 'Gill Sans MT, Gill Sans, sans-serif',\n 'Gill Sans': 'Gill Sans, Optima, sans-serif',\n Verdana: 'Verdana, Geneva, Tahoma, sans-serif',\n Tahoma: 'Tahoma, Verdana, sans-serif',\n Arial: 'Arial, Helvetica, sans-serif',\n 'Arial Black': 'Arial Black, Gadget, sans-serif',\n 'Arial Narrow': 'Arial Narrow, Arial, sans-serif',\n 'Arial Unicode MS': 'Arial Unicode MS, Arial, sans-serif',\n 'Times New Roman': 'Times New Roman, Times, serif',\n 'Courier New': 'Courier New, Courier, monospace',\n Georgia: 'Georgia, Times New Roman, serif',\n 'Palatino Linotype': 'Palatino Linotype, Palatino, Book Antiqua, serif',\n 'Book Antiqua': 'Book Antiqua, Palatino, serif',\n Garamond: 'Garamond, Hoefler Text, serif',\n Century: 'Century, Times New Roman, serif',\n 'Century Gothic': 'Century Gothic, Futura, sans-serif',\n 'Comic Sans MS': 'Comic Sans MS, Chalkboard, cursive',\n Impact: 'Impact, Charcoal, sans-serif',\n 'Lucida Console': 'Lucida Console, Monaco, monospace',\n 'Lucida Sans Unicode': 'Lucida Sans Unicode, Lucida Grande, sans-serif',\n Symbol: 'Symbol, serif',\n Wingdings: 'Wingdings, Zapf Dingbats, sans-serif',\n 'Wingdings 2': 'Wingdings 2, sans-serif',\n 'Wingdings 3': 'Wingdings 3, sans-serif',\n Webdings: 'Webdings, sans-serif',\n 'Segoe UI': 'Segoe UI, Helvetica Neue, Arial, sans-serif',\n 'Segoe UI Light': 'Segoe UI Light, Segoe UI, sans-serif',\n 'Segoe UI Semibold': 'Segoe UI Semibold, Segoe UI, sans-serif',\n 'Segoe UI Black': 'Segoe UI Black, Segoe UI, sans-serif',\n 'Segoe Print': 'Segoe Print, Comic Sans MS, cursive',\n 'Segoe Script': 'Segoe Script, Comic Sans MS, cursive',\n 'Trebuchet MS': 'Trebuchet MS, Helvetica, sans-serif',\n Palatino: 'Palatino, Palatino Linotype, serif',\n Helvetica: 'Helvetica, Arial, sans-serif',\n 'Helvetica Neue': 'Helvetica Neue, Helvetica, Arial, sans-serif',\n Futura: 'Futura, Century Gothic, sans-serif',\n Optima: 'Optima, Segoe UI, sans-serif',\n Monaco: 'Monaco, Consolas, monospace',\n Menlo: 'Menlo, Consolas, monospace',\n Roboto: 'Roboto, Helvetica Neue, Arial, sans-serif',\n 'Open Sans': 'Open Sans, Helvetica Neue, Arial, sans-serif',\n Lato: 'Lato, Helvetica Neue, Arial, sans-serif',\n Oswald: 'Oswald, Impact, sans-serif',\n Raleway: 'Raleway, Helvetica Neue, Arial, sans-serif',\n Nunito: 'Nunito, Helvetica Neue, Arial, sans-serif',\n\n // ========== macOS 专有字体 ==========\n 'Hiragino Mincho Pro': 'Hiragino Mincho Pro, STSong, serif',\n 'Hiragino Kaku Gothic Pro': 'Hiragino Kaku Gothic Pro, Microsoft YaHei, sans-serif',\n 'Hiragino Kaku Gothic ProN': 'Hiragino Kaku Gothic ProN, sans-serif',\n 'Apple LiGothic': 'Apple LiGothic, Microsoft YaHei, sans-serif',\n 'Apple LiSung': 'Apple LiSung, STSong, serif',\n 'LiHei Pro': 'LiHei Pro, Microsoft YaHei, sans-serif',\n 'LiSong Pro': 'LiSong Pro, STSong, serif',\n}\n\n/**\n * 根据字体名称获取浏览器可用的回退字体栈\n * @param {string} fontName - 原始字体名\n * @returns {string} 完整的 font-family 回退字符串\n */\nexport function getFontFallback(fontName) {\n if (!fontName) return ''\n\n // 精确匹配\n if (SYSTEM_FONT_FALLBACK_MAP[fontName]) {\n return SYSTEM_FONT_FALLBACK_MAP[fontName]\n }\n\n // 大小写不敏感匹配\n const lowerName = fontName.toLowerCase()\n for (const [key, value] of Object.entries(SYSTEM_FONT_FALLBACK_MAP)) {\n if (key.toLowerCase() === lowerName) return value\n }\n\n // 部分匹配(如 \"Calibri Light\" → Calibri 回退)\n for (const [key, value] of Object.entries(SYSTEM_FONT_FALLBACK_MAP)) {\n if (lowerName.startsWith(key.toLowerCase())) {\n // 在回退栈前面插入原始字体名\n return `${fontName}, ${value}`\n }\n }\n\n // 无法匹配时,根据字体名猜测类型\n return guessGenericFamily(fontName)\n}\n\n/**\n * 根据字体名猜测通用字体族作为最终回退\n */\nfunction guessGenericFamily(fontName) {\n const name = fontName.toLowerCase()\n\n // 等宽/代码字体\n if (\n name.includes('mono') ||\n name.includes('code') ||\n name.includes('console') ||\n name.includes('courier') ||\n name.includes('terminal') ||\n name.includes('fixed')\n ) {\n return `${fontName}, monospace`\n }\n\n // 衬线字体\n if (\n name.includes('serif') ||\n name.includes('roman') ||\n name.includes('mincho') ||\n name.includes('song') ||\n name.includes('sung') ||\n name.includes('ming') ||\n name.includes('times') ||\n name.includes('georgia')\n ) {\n return `${fontName}, serif`\n }\n\n // 手写/草书\n if (\n name.includes('script') ||\n name.includes('cursive') ||\n name.includes('hand') ||\n name.includes('writing') ||\n name.includes('kai') ||\n name.includes('shu')\n ) {\n return `${fontName}, cursive`\n }\n\n // 默认 sans-serif\n return `${fontName}, sans-serif`\n}\n","import { getShapeFill, getSolidFill } from './fill'\nimport { getTextByPathList } from './utils'\nimport { getBorder } from './border'\n\nfunction getTableTextColor(tcTxStyle, warpObj) {\n if (!tcTxStyle) return undefined\n\n return getSolidFill(tcTxStyle['a:solidFill'] || tcTxStyle, undefined, undefined, warpObj)\n}\n\nexport function getTableBorders(node, warpObj) {\n const borders = {}\n if (node['a:bottom']) {\n const obj = {\n 'p:spPr': {\n 'a:ln': node['a:bottom']['a:ln']\n }\n }\n const border = getBorder(obj, undefined, warpObj)\n borders.bottom = border\n }\n if (node['a:top']) {\n const obj = {\n 'p:spPr': {\n 'a:ln': node['a:top']['a:ln']\n }\n }\n const border = getBorder(obj, undefined, warpObj)\n borders.top = border\n }\n if (node['a:right']) {\n const obj = {\n 'p:spPr': {\n 'a:ln': node['a:right']['a:ln']\n }\n }\n const border = getBorder(obj, undefined, warpObj)\n borders.right = border\n }\n if (node['a:left']) {\n const obj = {\n 'p:spPr': {\n 'a:ln': node['a:left']['a:ln']\n }\n }\n const border = getBorder(obj, undefined, warpObj)\n borders.left = border\n }\n return borders\n}\n\nexport async function getTableCellParams(tcNode, thisTblStyle, cellSource, warpObj) {\n const rowSpan = getTextByPathList(tcNode, ['attrs', 'rowSpan'])\n const colSpan = getTextByPathList(tcNode, ['attrs', 'gridSpan'])\n const vMerge = getTextByPathList(tcNode, ['attrs', 'vMerge'])\n const hMerge = getTextByPathList(tcNode, ['attrs', 'hMerge'])\n const anchor = getTextByPathList(tcNode, ['a:tcPr', 'attrs', 'anchor'])\n let fillColor\n let fontColor\n let fontBold\n\n const getCelFill = getTextByPathList(tcNode, ['a:tcPr'])\n if (getCelFill) {\n const cellObj = { 'p:spPr': getCelFill }\n const fill = await getShapeFill(cellObj, warpObj, 'slide')\n\n if (fill && fill.type === 'color' && fill.value) {\n fillColor = fill.value \n }\n }\n if (!fillColor) {\n let bgFillschemeClr\n if (cellSource) bgFillschemeClr = getTextByPathList(thisTblStyle, [cellSource, 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n }\n }\n\n let rowTxtStyl\n if (cellSource) rowTxtStyl = getTextByPathList(thisTblStyle, [cellSource, 'a:tcTxStyle'])\n if (rowTxtStyl) {\n fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n\n let lin_bottm = getTextByPathList(tcNode, ['a:tcPr', 'a:lnB'])\n if (!lin_bottm) {\n if (cellSource) lin_bottm = getTextByPathList(thisTblStyle && thisTblStyle[cellSource], ['a:tcStyle', 'a:tcBdr', 'a:bottom', 'a:ln'])\n if (!lin_bottm) lin_bottm = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:tcBdr', 'a:bottom', 'a:ln'])\n }\n let lin_top = getTextByPathList(tcNode, ['a:tcPr', 'a:lnT'])\n if (!lin_top) {\n if (cellSource) lin_top = getTextByPathList(thisTblStyle && thisTblStyle[cellSource], ['a:tcStyle', 'a:tcBdr', 'a:top', 'a:ln'])\n if (!lin_top) lin_top = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:tcBdr', 'a:top', 'a:ln'])\n }\n let lin_left = getTextByPathList(tcNode, ['a:tcPr', 'a:lnL'])\n if (!lin_left) {\n if (cellSource) lin_left = getTextByPathList(thisTblStyle && thisTblStyle[cellSource], ['a:tcStyle', 'a:tcBdr', 'a:left', 'a:ln'])\n if (!lin_left) lin_left = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:tcBdr', 'a:left', 'a:ln'])\n }\n let lin_right = getTextByPathList(tcNode, ['a:tcPr', 'a:lnR'])\n if (!lin_right) {\n if (cellSource) lin_right = getTextByPathList(thisTblStyle && thisTblStyle[cellSource], ['a:tcStyle', 'a:tcBdr', 'a:right', 'a:ln'])\n if (!lin_right) lin_right = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:tcBdr', 'a:right', 'a:ln'])\n }\n\n const borders = {}\n if (lin_bottm) borders.bottom = getBorder(lin_bottm, undefined, warpObj)\n if (lin_top) borders.top = getBorder(lin_top, undefined, warpObj)\n if (lin_left) borders.left = getBorder(lin_left, undefined, warpObj)\n if (lin_right) borders.right = getBorder(lin_right, undefined, warpObj)\n\n return {\n fillColor,\n fontColor,\n fontBold,\n borders,\n vAlign: (anchor === 'ctr') ? 'mid' : ((anchor === 'b') ? 'down' : 'up'),\n rowSpan: rowSpan ? +rowSpan : undefined,\n colSpan: colSpan ? +colSpan : undefined,\n vMerge: vMerge ? +vMerge : undefined,\n hMerge: hMerge ? +hMerge : undefined,\n }\n}\n\nexport function getTableRowParams(trNodes, i, tblStylAttrObj, thisTblStyle, warpObj) {\n let fillColor\n let fontColor\n let fontBold\n\n if (thisTblStyle && thisTblStyle['a:wholeTbl']) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n const local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n if (local_fillColor) fillColor = local_fillColor\n }\n const rowTxtStyl = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcTxStyle'])\n if (rowTxtStyl) {\n const local_fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (local_fontColor) fontColor = local_fontColor\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n }\n if (i === 0 && tblStylAttrObj['isFrstRowAttr'] === 1 && thisTblStyle) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:firstRow', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n const local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n if (local_fillColor) fillColor = local_fillColor\n }\n const rowTxtStyl = getTextByPathList(thisTblStyle, ['a:firstRow', 'a:tcTxStyle'])\n if (rowTxtStyl) {\n const local_fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (local_fontColor) fontColor = local_fontColor\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n }\n else if (i > 0 && tblStylAttrObj['isBandRowAttr'] === 1 && thisTblStyle) {\n fillColor = ''\n if ((i % 2) === 0 && thisTblStyle['a:band2H']) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:band2H', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n const local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n if (local_fillColor) fillColor = local_fillColor\n }\n const rowTxtStyl = getTextByPathList(thisTblStyle, ['a:band2H', 'a:tcTxStyle'])\n if (rowTxtStyl) {\n const local_fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (local_fontColor) fontColor = local_fontColor\n }\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n if ((i % 2) !== 0 && thisTblStyle['a:band1H']) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:band1H', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n const local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n if (local_fillColor) fillColor = local_fillColor\n }\n const rowTxtStyl = getTextByPathList(thisTblStyle, ['a:band1H', 'a:tcTxStyle'])\n if (rowTxtStyl) {\n const local_fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (local_fontColor) fontColor = local_fontColor\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n }\n }\n if (i === (trNodes.length - 1) && tblStylAttrObj['isLstRowAttr'] === 1 && thisTblStyle) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:lastRow', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n if (bgFillschemeClr) {\n const local_fillColor = getSolidFill(bgFillschemeClr, undefined, undefined, warpObj)\n if (local_fillColor) {\n fillColor = local_fillColor\n }\n }\n const rowTxtStyl = getTextByPathList(thisTblStyle, ['a:lastRow', 'a:tcTxStyle'])\n if (rowTxtStyl) {\n const local_fontColor = getTableTextColor(rowTxtStyl, warpObj)\n if (local_fontColor) fontColor = local_fontColor\n if (getTextByPathList(rowTxtStyl, ['attrs', 'b']) === 'on') fontBold = true\n }\n }\n\n return {\n fillColor,\n fontColor,\n fontBold,\n }\n}\n","/* eslint-disable max-lines */\n\nimport { RATIO_EMUs_Points } from './constants'\nimport { getTextByPathList } from './utils'\n\nfunction shapePie(H, w, adj1, adj2, isClose) {\n const pieVal = parseFloat(adj2)\n const piAngle = parseFloat(adj1)\n const size = parseFloat(H)\n const radiusY = size / 2\n const radiusX = w / 2\n const centerX = radiusX\n const centerY = radiusY\n\n let value = pieVal - piAngle\n if (value < 0) value = 360 + value\n value = Math.min(Math.max(value, 0), 360)\n\n const startRadians = piAngle * Math.PI / 180\n const endRadians = (piAngle + value) * Math.PI / 180\n const startX = centerX + Math.cos(startRadians) * radiusX\n const startY = centerY + Math.sin(startRadians) * radiusY\n const endX = centerX + Math.cos(endRadians) * radiusX\n const endY = centerY + Math.sin(endRadians) * radiusY\n\n let longArc, d\n if (isClose) {\n longArc = (value <= 180) ? 0 : 1\n d = `M${centerX},${centerY} L${startX},${startY} A${radiusX},${radiusY} 0 ${longArc},1 ${endX},${endY} z`\n } \n else {\n longArc = (value <= 180) ? 0 : 1\n d = `M${startX},${startY} A${radiusX},${radiusY} 0 ${longArc},1 ${endX},${endY}`\n }\n\n return d\n}\nfunction shapeGear(h, points) {\n const innerRadius = h\n const outerRadius = 1.5 * innerRadius\n const cx = outerRadius\n const cy = outerRadius\n const notches = points\n const radiusO = outerRadius\n const radiusI = innerRadius\n const taperO = 50\n const taperI = 35\n const pi2 = 2 * Math.PI\n const angle = pi2 / (notches * 2)\n const taperAI = angle * taperI * 0.005\n const taperAO = angle * taperO * 0.005\n\n let a = angle\n let toggle = false\n\n let d = ' M' + (cx + radiusO * Math.cos(taperAO)) + ' ' + (cy + radiusO * Math.sin(taperAO))\n\n for (; a <= pi2 + angle; a += angle) {\n if (toggle) {\n d += ' L' + (cx + radiusI * Math.cos(a - taperAI)) + ',' + (cy + radiusI * Math.sin(a - taperAI))\n d += ' L' + (cx + radiusO * Math.cos(a + taperAO)) + ',' + (cy + radiusO * Math.sin(a + taperAO))\n } \n else {\n d += ' L' + (cx + radiusO * Math.cos(a - taperAO)) + ',' + (cy + radiusO * Math.sin(a - taperAO))\n d += ' L' + (cx + radiusI * Math.cos(a + taperAI)) + ',' + (cy + radiusI * Math.sin(a + taperAI))\n }\n toggle = !toggle\n }\n d += ' '\n return d\n}\n\nfunction shapeArc(cX, cY, rX, rY, stAng, endAng, isClose) {\n let dData = ''\n const increment = (endAng >= stAng) ? 1 : -1\n let angle = stAng\n\n const condition = (a) => (increment > 0 ? a <= endAng : a >= endAng)\n\n while (condition(angle)) {\n const radians = angle * (Math.PI / 180)\n const x = cX + Math.cos(radians) * rX\n const y = cY + Math.sin(radians) * rY\n if (angle === stAng) {\n dData = ` M${x} ${y}`\n }\n dData += ` L${x} ${y}`\n angle += increment\n }\n\n if (isClose) {\n dData += ' z'\n }\n return dData\n}\n\nfunction shapeSnipRoundRect(w, h, adj1, adj2, shapeType, adjType) {\n let adjA, adjB, adjC, adjD\n\n switch (adjType) {\n case 'cornr1':\n adjA = 0\n adjB = 0\n adjC = 0\n adjD = adj1\n break\n case 'cornr2':\n adjA = adj1\n adjB = adj2\n adjC = adj2\n adjD = adj1\n break\n case 'cornrAll':\n adjA = adj1\n adjB = adj1\n adjC = adj1\n adjD = adj1\n break\n case 'diag':\n adjA = adj1\n adjB = adj2\n adjC = adj1\n adjD = adj2\n break\n case 'cornrTL':\n adjA = adj1\n adjB = 0\n adjC = 0\n adjD = 0\n break\n default:\n adjA = adjB = adjC = adjD = 0\n }\n\n // A rounded or snipped corner is a single distance applied equally to both axes, derived from\n // the shorter side: OOXML defines it as `ss * adj / 100000` with `ss = min(w, h)`. Scaling it\n // by w/2 across and h/2 down instead -- which agrees only when the shape is square -- turns a\n // wide, flat roundRect into a lens, because at maximum adj the two corner curves meet in the\n // middle of the shape rather than a corner radius in from each end. `adjA`..`adjD` arrive here\n // already divided by 50000, so half the shorter side is the full-radius case.\n const rA = adjA * (Math.min(w, h) / 2)\n const rB = adjB * (Math.min(w, h) / 2)\n const rC = adjC * (Math.min(w, h) / 2)\n const rD = adjD * (Math.min(w, h) / 2)\n\n if (shapeType === 'round') {\n return `M0,${h - rB} Q0,${h} ${rB},${h} L${w - rC},${h} Q${w},${h} ${w},${h - rC} L${w},${rD} Q${w},0 ${w - rD},0 L${rA},0 Q0,0 0,${rA} z`\n } \n else if (shapeType === 'snip') {\n return `M0,${rA} L0,${h - rB} L${rB},${h} L${w - rC},${h} L${w},${h - rC} L${w},${rD} L${w - rD},0 L${rA},0 z`\n }\n return ''\n}\n\nexport function getShapePath(shapType, w, h, node) {\n let pathData = ''\n\n switch (shapType) {\n case 'rect':\n case 'actionButtonBlank':\n pathData = `M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z`\n break\n case 'flowChartPredefinedProcess':\n pathData = `M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z M ${w * (1 / 8)} 0 L ${w * (1 / 8)} ${h} M ${w * (7 / 8)} 0 L ${w * (7 / 8)} ${h}`\n break\n case 'flowChartInternalStorage':\n pathData = `M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z M ${w * (1 / 8)} 0 L ${w * (1 / 8)} ${h} M 0 ${h * (1 / 8)} L ${w} ${h * (1 / 8)}`\n break\n case 'flowChartCollate':\n pathData = `M 0,0 L ${w},0 L 0,${h} L ${w},${h} z`\n break\n case 'flowChartDocument':\n {\n const x1 = w * 10800 / 21600\n const y1 = h * 17322 / 21600\n const y2 = h * 20172 / 21600\n const y3 = h * 23922 / 21600\n pathData = `M 0,0 L ${w},0 L ${w},${y1} C ${x1},${y1} ${x1},${y3} 0,${y2} z`\n }\n break\n case 'flowChartMultidocument':\n {\n const y1 = h * 18022 / 21600\n const y2 = h * 3675 / 21600\n const y3 = h * 23542 / 21600\n const y4 = h * 1815 / 21600\n const y5 = h * 16252 / 21600\n const y6 = h * 16352 / 21600\n const y7 = h * 14392 / 21600\n const y8 = h * 20782 / 21600\n const y9 = h * 14467 / 21600\n const x1 = w * 1532 / 21600\n const x2 = w * 20000 / 21600\n const x3 = w * 9298 / 21600\n const x4 = w * 19298 / 21600\n const x5 = w * 18595 / 21600\n const x6 = w * 2972 / 21600\n const x7 = w * 20800 / 21600\n pathData = `M 0,${y2} L ${x5},${y2} L ${x5},${y1} C ${x3},${y1} ${x3},${y3} 0,${y8} z M ${x1},${y2} L ${x1},${y4} L ${x2},${y4} L ${x2},${y5} C ${x4},${y5} ${x5},${y6} ${x5},${y6} M ${x6},${y4} L ${x6},0 L ${w},0 L ${w},${y7} C ${x7},${y7} ${x2},${y9} ${x2},${y9}`\n }\n break\n case 'actionButtonBackPrevious':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${g11},${vc} L ${g12},${g9} L ${g12},${g10} z`\n }\n break\n case 'actionButtonBeginning':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n const g13 = ss * 3 / 4\n const g14 = g13 / 8\n const g15 = g13 / 4\n const g16 = g11 + g14\n const g17 = g11 + g15\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${g17},${vc} L ${g12},${g9} L ${g12},${g10} z M ${g16},${g9} L ${g11},${g9} L ${g11},${g10} L ${g16},${g10} z`\n }\n break\n case 'actionButtonDocument':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const dx1 = ss * 9 / 32\n const g11 = hc - dx1\n const g12 = hc + dx1\n const g13 = ss * 3 / 16\n const g14 = g12 - g13\n const g15 = g9 + g13\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${g11},${g9} L ${g14},${g9} L ${g12},${g15} L ${g12},${g10} L ${g11},${g10} z M ${g14},${g9} L ${g14},${g15} L ${g12},${g15} z`\n }\n break\n case 'actionButtonEnd':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n const g13 = ss * 3 / 4\n const g14 = g13 * 3 / 4\n const g15 = g13 * 7 / 8\n const g16 = g11 + g14\n const g17 = g11 + g15\n pathData = `M 0,${h} L ${w},${h} L ${w},0 L 0,0 z M ${g17},${g9} L ${g12},${g9} L ${g12},${g10} L ${g17},${g10} z M ${g16},${vc} L ${g11},${g9} L ${g11},${g10} z`\n }\n break\n case 'actionButtonForwardNext':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n pathData = `M 0,${h} L ${w},${h} L ${w},0 L 0,0 z M ${g12},${vc} L ${g11},${g9} L ${g11},${g10} z`\n }\n break\n case 'actionButtonHelp':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g11 = hc - dx2\n const g13 = ss * 3 / 4\n const g14 = g13 / 7\n const g15 = g13 * 3 / 14\n const g16 = g13 * 2 / 7\n const g19 = g13 * 3 / 7\n const g20 = g13 * 4 / 7\n const g21 = g13 * 17 / 28\n const g23 = g13 * 21 / 28\n const g24 = g13 * 11 / 14\n const g27 = g9 + g16\n const g29 = g9 + g21\n const g30 = g9 + g23\n const g31 = g9 + g24\n const g33 = g11 + g15\n const g36 = g11 + g19\n const g37 = g11 + g20\n const g41 = g13 / 14\n const g42 = g13 * 3 / 28\n const cX1 = g33 + g16\n const cX2 = g36 + g14\n const cY3 = g31 + g42\n const cX4 = (g37 + g36 + g16) / 2\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${g33},${g27} ${shapeArc(cX1, g27, g16, g16, 180, 360, false).replace('M', 'L')} ${shapeArc(cX4, g27, g14, g15, 0, 90, false).replace('M', 'L')} ${shapeArc(cX4, g29, g41, g42, 270, 180, false).replace('M', 'L')} L ${g37},${g30} L ${g36},${g30} L ${g36},${g29} ${shapeArc(cX2, g29, g14, g15, 180, 270, false).replace('M', 'L')} ${shapeArc(g37, g27, g41, g42, 90, 0, false).replace('M', 'L')} ${shapeArc(cX1, g27, g14, g14, 0, -180, false).replace('M', 'L')} z M ${hc},${g31} ${shapeArc(hc, cY3, g42, g42, 270, 630, false).replace('M', 'L')} z`\n }\n break\n case 'actionButtonHome':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n const g13 = ss * 3 / 4\n const g14 = g13 / 16\n const g15 = g13 / 8\n const g16 = g13 * 3 / 16\n const g17 = g13 * 5 / 16\n const g18 = g13 * 7 / 16\n const g19 = g13 * 9 / 16\n const g20 = g13 * 11 / 16\n const g21 = g13 * 3 / 4\n const g22 = g13 * 13 / 16\n const g23 = g13 * 7 / 8\n const g24 = g9 + g14\n const g25 = g9 + g16\n const g26 = g9 + g17\n const g27 = g9 + g21\n const g28 = g11 + g15\n const g29 = g11 + g18\n const g30 = g11 + g19\n const g31 = g11 + g20\n const g32 = g11 + g22\n const g33 = g11 + g23\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${hc},${g9} L ${g11},${vc} L ${g28},${vc} L ${g28},${g10} L ${g33},${g10} L ${g33},${vc} L ${g12},${vc} L ${g32},${g26} L ${g32},${g24} L ${g31},${g24} L ${g31},${g25} z M ${g29},${g27} L ${g30},${g27} L ${g30},${g10} L ${g29},${g10} z`\n }\n break\n case 'actionButtonInformation':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g11 = hc - dx2\n const g13 = ss * 3 / 4\n const g14 = g13 / 32\n const g17 = g13 * 5 / 16\n const g18 = g13 * 3 / 8\n const g19 = g13 * 13 / 32\n const g20 = g13 * 19 / 32\n const g22 = g13 * 11 / 16\n const g23 = g13 * 13 / 16\n const g24 = g13 * 7 / 8\n const g25 = g9 + g14\n const g28 = g9 + g17\n const g29 = g9 + g18\n const g30 = g9 + g23\n const g31 = g9 + g24\n const g32 = g11 + g17\n const g34 = g11 + g19\n const g35 = g11 + g20\n const g37 = g11 + g22\n const g38 = g13 * 3 / 32\n const cY1 = g9 + dx2\n const cY2 = g25 + g38\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${hc},${g9} ${shapeArc(hc, cY1, dx2, dx2, 270, 630, false).replace('M', 'L')} z M ${hc},${g25} ${shapeArc(hc, cY2, g38, g38, 270, 630, false).replace('M', 'L')} M ${g32},${g28} L ${g35},${g28} L ${g35},${g30} L ${g37},${g30} L ${g37},${g31} L ${g32},${g31} L ${g32},${g30} L ${g34},${g30} L ${g34},${g29} L ${g32},${g29} z`\n }\n break\n case 'actionButtonMovie':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const g11 = hc - (ss * 3 / 8)\n const g9 = vc - (ss * 3 / 8)\n const g12 = hc + (ss * 3 / 8)\n const g13 = ss * 3 / 4\n const g14 = g13 * 1455 / 21600\n const g15 = g13 * 1905 / 21600\n const g16 = g13 * 2325 / 21600\n const g17 = g13 * 16155 / 21600\n const g18 = g13 * 17010 / 21600\n const g19 = g13 * 19335 / 21600\n const g20 = g13 * 19725 / 21600\n const g21 = g13 * 20595 / 21600\n const g22 = g13 * 5280 / 21600\n const g23 = g13 * 5730 / 21600\n const g24 = g13 * 6630 / 21600\n const g25 = g13 * 7492 / 21600\n const g26 = g13 * 9067 / 21600\n const g27 = g13 * 9555 / 21600\n const g28 = g13 * 13342 / 21600\n const g29 = g13 * 14580 / 21600\n const g30 = g13 * 15592 / 21600\n const g31 = g11 + g14\n const g32 = g11 + g15\n const g33 = g11 + g16\n const g34 = g11 + g17\n const g35 = g11 + g18\n const g36 = g11 + g19\n const g37 = g11 + g20\n const g38 = g11 + g21\n const g39 = g9 + g22\n const g40 = g9 + g23\n const g41 = g9 + g24\n const g42 = g9 + g25\n const g43 = g9 + g26\n const g44 = g9 + g27\n const g45 = g9 + g28\n const g46 = g9 + g29\n const g47 = g9 + g30\n pathData = `M 0,${h} L ${w},${h} L ${w},0 L 0,0 z M ${g11},${g39} L ${g11},${g44} L ${g31},${g44} L ${g32},${g43} L ${g33},${g43} L ${g33},${g47} L ${g35},${g47} L ${g35},${g45} L ${g36},${g45} L ${g38},${g46} L ${g12},${g46} L ${g12},${g41} L ${g38},${g41} L ${g37},${g42} L ${g35},${g42} L ${g35},${g41} L ${g34},${g40} L ${g32},${g40} L ${g31},${g39} z`\n }\n break\n case 'actionButtonReturn':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n const g13 = ss * 3 / 4\n const g14 = g13 * 7 / 8\n const g15 = g13 * 3 / 4\n const g16 = g13 * 5 / 8\n const g17 = g13 * 3 / 8\n const g18 = g13 / 4\n const g19 = g9 + g15\n const g20 = g9 + g16\n const g21 = g9 + g18\n const g22 = g11 + g14\n const g23 = g11 + g15\n const g24 = g11 + g16\n const g25 = g11 + g17\n const g26 = g11 + g18\n const g27 = g13 / 8\n const cX1 = g24 - g27\n const cY2 = g19 - g27\n const cX3 = g11 + g17\n const cY4 = g10 - g17\n pathData = `M 0,${h} L ${w},${h} L ${w},0 L 0,0 z M ${g12},${g21} L ${g23},${g9} L ${hc},${g21} L ${g24},${g21} L ${g24},${g20} ${shapeArc(cX1, g20, g27, g27, 0, 90, false).replace('M', 'L')} L ${g25},${g19} ${shapeArc(g25, cY2, g27, g27, 90, 180, false).replace('M', 'L')} L ${g26},${g21} L ${g11},${g21} L ${g11},${g20} ${shapeArc(cX3, g20, g17, g17, 180, 90, false).replace('M', 'L')} L ${hc},${g10} ${shapeArc(hc, cY4, g17, g17, 90, 0, false).replace('M', 'L')} L ${g22},${g21} z`\n }\n break\n case 'actionButtonSound':\n {\n const hc = w / 2,\n vc = h / 2,\n ss = Math.min(w, h)\n const dx2 = ss * 3 / 8\n const g9 = vc - dx2\n const g10 = vc + dx2\n const g11 = hc - dx2\n const g12 = hc + dx2\n const g13 = ss * 3 / 4\n const g14 = g13 / 8\n const g15 = g13 * 5 / 16\n const g16 = g13 * 5 / 8\n const g17 = g13 * 11 / 16\n const g18 = g13 * 3 / 4\n const g19 = g13 * 7 / 8\n const g20 = g9 + g14\n const g21 = g9 + g15\n const g22 = g9 + g17\n const g23 = g9 + g19\n const g24 = g11 + g15\n const g25 = g11 + g16\n const g26 = g11 + g18\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${g11},${g21} L ${g24},${g21} L ${g25},${g9} L ${g25},${g10} L ${g24},${g22} L ${g11},${g22} z M ${g26},${g21} L ${g12},${g20} M ${g26},${vc} L ${g12},${vc} M ${g26},${g22} L ${g12},${g23}`\n }\n break\n case 'irregularSeal1':\n pathData = `M ${w * 10800 / 21600},${h * 5800 / 21600} L ${w * 14522 / 21600},0 L ${w * 14155 / 21600},${h * 5325 / 21600} L ${w * 18380 / 21600},${h * 4457 / 21600} L ${w * 16702 / 21600},${h * 7315 / 21600} L ${w * 21097 / 21600},${h * 8137 / 21600} L ${w * 17607 / 21600},${h * 10475 / 21600} L ${w},${h * 13290 / 21600} L ${w * 16837 / 21600},${h * 12942 / 21600} L ${w * 18145 / 21600},${h * 18095 / 21600} L ${w * 14020 / 21600},${h * 14457 / 21600} L ${w * 13247 / 21600},${h * 19737 / 21600} L ${w * 10532 / 21600},${h * 14935 / 21600} L ${w * 8485 / 21600},${h} L ${w * 7715 / 21600},${h * 15627 / 21600} L ${w * 4762 / 21600},${h * 17617 / 21600} L ${w * 5667 / 21600},${h * 13937 / 21600} L ${w * 135 / 21600},${h * 14587 / 21600} L ${w * 3722 / 21600},${h * 11775 / 21600} L 0,${h * 8615 / 21600} L ${w * 4627 / 21600},${h * 7617 / 21600} L ${w * 370 / 21600},${h * 2295 / 21600} L ${w * 7312 / 21600},${h * 6320 / 21600} L ${w * 8352 / 21600},${h * 2295 / 21600} z`\n break\n case 'irregularSeal2':\n pathData = `M ${w * 11462 / 21600},${h * 4342 / 21600} L ${w * 14790 / 21600},0 L ${w * 14525 / 21600},${h * 5777 / 21600} L ${w * 18007 / 21600},${h * 3172 / 21600} L ${w * 16380 / 21600},${h * 6532 / 21600} L ${w},${h * 6645 / 21600} L ${w * 16985 / 21600},${h * 9402 / 21600} L ${w * 18270 / 21600},${h * 11290 / 21600} L ${w * 16380 / 21600},${h * 12310 / 21600} L ${w * 18877 / 21600},${h * 15632 / 21600} L ${w * 14640 / 21600},${h * 14350 / 21600} L ${w * 14942 / 21600},${h * 17370 / 21600} L ${w * 12180 / 21600},${h * 15935 / 21600} L ${w * 11612 / 21600},${h * 18842 / 21600} L ${w * 9872 / 21600},${h * 17370 / 21600} L ${w * 8700 / 21600},${h * 19712 / 21600} L ${w * 7527 / 21600},${h * 18125 / 21600} L ${w * 4917 / 21600},${h} L ${w * 4805 / 21600},${h * 18240 / 21600} L ${w * 1285 / 21600},${h * 17825 / 21600} L ${w * 3330 / 21600},${h * 15370 / 21600} L 0,${h * 12877 / 21600} L ${w * 3935 / 21600},${h * 11592 / 21600} L ${w * 1172 / 21600},${h * 8270 / 21600} L ${w * 5372 / 21600},${h * 7817 / 21600} L ${w * 4502 / 21600},${h * 3625 / 21600} L ${w * 8550 / 21600},${h * 6382 / 21600} L ${w * 9722 / 21600},${h * 1887 / 21600} z`\n break\n case 'flowChartTerminator':\n {\n const cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const x1 = w * 3475 / 21600\n const x2 = w * 18125 / 21600\n const y1 = h * 10800 / 21600\n pathData = `M ${x1},0 L ${x2},0 ${shapeArc(x2, h / 2, x1, y1, c3d4, c3d4 + cd2, false).replace('M', 'L')} L ${x1},${h} ${shapeArc(x1, h / 2, x1, y1, cd4, cd4 + cd2, false).replace('M', 'L')} z`\n }\n break\n case 'flowChartPunchedTape':\n {\n const cd2 = 180\n const x1 = w * 5 / 20\n const y1 = h * 2 / 20\n const y2 = h * 18 / 20\n pathData = `M 0,${y1} ${shapeArc(x1, y1, x1, y1, cd2, 0, false).replace('M', 'L')} ${shapeArc(w * (3 / 4), y1, x1, y1, cd2, 360, false).replace('M', 'L')} L ${w},${y2} ${shapeArc(w * (3 / 4), y2, x1, y1, 0, -cd2, false).replace('M', 'L')} ${shapeArc(x1, y2, x1, y1, 0, cd2, false).replace('M', 'L')} z`\n }\n break\n case 'flowChartOnlineStorage':\n {\n const c3d4 = 270,\n cd4 = 90\n const x1 = w * 1 / 6\n const y1 = h * 3 / 6\n pathData = `M ${x1},0 L ${w},0 ${shapeArc(w, h / 2, x1, y1, c3d4, 90, false).replace('M', 'L')} L ${x1},${h} ${shapeArc(x1, h / 2, x1, y1, cd4, 270, false).replace('M', 'L')} z`\n }\n break\n case 'flowChartDisplay':\n {\n const c3d4 = 270,\n cd2 = 180\n const x1 = w * 1 / 6\n const x2 = w * 5 / 6\n const y1 = h * 3 / 6\n pathData = `M 0,${y1} L ${x1},0 L ${x2},0 ${shapeArc(w, h / 2, x1, y1, c3d4, c3d4 + cd2, false).replace('M', 'L')} L ${x1},${h} z`\n }\n break\n case 'flowChartDelay':\n {\n const wd2 = w / 2,\n hd2 = h / 2,\n cd2 = 180,\n c3d4 = 270\n pathData = `M 0,0 L ${wd2},0 ${shapeArc(wd2, hd2, wd2, hd2, c3d4, c3d4 + cd2, false).replace('M', 'L')} L 0,${h} z`\n }\n break\n case 'flowChartMagneticTape':\n {\n const wd2 = w / 2,\n hd2 = h / 2,\n cd2 = 180,\n c3d4 = 270,\n cd4 = 90\n const idy = hd2 * Math.sin(Math.PI / 4)\n const ib = hd2 + idy\n const ang1 = Math.atan(h / w)\n const ang1Dg = ang1 * 180 / Math.PI\n pathData = `M ${wd2},${h} ${shapeArc(wd2, hd2, wd2, hd2, cd4, cd2, false).replace('M', 'L')} ${shapeArc(wd2, hd2, wd2, hd2, cd2, c3d4, false).replace('M', 'L')} ${shapeArc(wd2, hd2, wd2, hd2, c3d4, 360, false).replace('M', 'L')} ${shapeArc(wd2, hd2, wd2, hd2, 0, ang1Dg, false).replace('M', 'L')} L ${w},${ib} L ${w},${h} z`\n }\n break\n case 'ellipse':\n case 'flowChartConnector':\n case 'flowChartSummingJunction':\n case 'flowChartOr':\n {\n const cx = w / 2\n const cy = h / 2\n const rx = w / 2\n const ry = h / 2\n\n pathData = `M ${cx - rx},${cy} A ${rx},${ry} 0 1,0 ${cx + rx},${cy} A ${rx},${ry} 0 1,0 ${cx - rx},${cy} Z`\n\n if (shapType === 'flowChartOr') {\n pathData += ` M ${w / 2} 0 L ${w / 2} ${h} M 0 ${h / 2} L ${w} ${h / 2}`\n } \n else if (shapType === 'flowChartSummingJunction') {\n const angVal = Math.PI / 4\n const iDx = (w / 2) * Math.cos(angVal)\n const idy = (h / 2) * Math.sin(angVal)\n const il = cx - iDx\n const ir = cx + iDx\n const it = cy - idy\n const ib = cy + idy\n pathData += ` M ${il} ${it} L ${ir} ${ib} M ${ir} ${it} L ${il} ${ib}`\n }\n }\n break\n case 'roundRect':\n case 'round1Rect':\n case 'round2DiagRect':\n case 'round2SameRect':\n case 'snip1Rect':\n case 'snip2DiagRect':\n case 'snip2SameRect':\n case 'flowChartAlternateProcess':\n case 'flowChartPunchedCard':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val, sAdj2_val\n let shpTyp, adjTyp\n\n if (shapAdjst_ary && Array.isArray(shapAdjst_ary)) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n const sAdj1 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj1_val = parseInt(sAdj1.substring(4)) / 50000\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj2_val = parseInt(sAdj2.substring(4)) / 50000\n }\n }\n } \n else if (shapAdjst_ary) {\n const sAdj = getTextByPathList(shapAdjst_ary, ['attrs', 'fmla'])\n sAdj1_val = parseInt(sAdj.substring(4)) / 50000\n sAdj2_val = 0\n }\n\n switch (shapType) {\n case 'roundRect':\n case 'flowChartAlternateProcess':\n shpTyp = 'round'\n adjTyp = 'cornrAll'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n sAdj2_val = 0\n break\n case 'round1Rect':\n shpTyp = 'round'\n adjTyp = 'cornr1'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n sAdj2_val = 0\n break\n case 'round2DiagRect':\n shpTyp = 'round'\n adjTyp = 'diag'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n if (sAdj2_val === undefined) sAdj2_val = 0\n break\n case 'round2SameRect':\n shpTyp = 'round'\n adjTyp = 'cornr2'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n if (sAdj2_val === undefined) sAdj2_val = 0\n break\n case 'snip1Rect':\n shpTyp = 'snip'\n adjTyp = 'cornr1'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n sAdj2_val = 0\n break\n case 'flowChartPunchedCard':\n shpTyp = 'snip'\n adjTyp = 'cornrTL'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n sAdj2_val = 0\n break\n case 'snip2DiagRect':\n shpTyp = 'snip'\n adjTyp = 'diag'\n if (sAdj1_val === undefined) sAdj1_val = 0\n if (sAdj2_val === undefined) sAdj2_val = 0.33334\n break\n case 'snip2SameRect':\n shpTyp = 'snip'\n adjTyp = 'cornr2'\n if (sAdj1_val === undefined) sAdj1_val = 0.33334\n if (sAdj2_val === undefined) sAdj2_val = 0\n break\n default:\n }\n pathData = shapeSnipRoundRect(w, h, sAdj1_val, sAdj2_val, shpTyp, adjTyp)\n }\n break\n case 'snipRoundRect':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.33334\n let sAdj2_val = 0.33334\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n const sAdj1 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj1_val = parseInt(sAdj1.substring(4)) / 50000\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj2_val = parseInt(sAdj2.substring(4)) / 50000\n }\n }\n }\n pathData = `M0,${h} L${w},${h} L${w},${(h / 2) * sAdj2_val} L${w / 2 + (w / 2) * (1 - sAdj2_val)},0 L${(w / 2) * sAdj1_val},0 Q0,0 0,${(h / 2) * sAdj1_val} z`\n }\n break\n case 'bentConnector2':\n pathData = `M ${w} 0 L ${w} ${h} L 0 ${h}`\n break\n case 'rtTriangle':\n pathData = `M 0 0 L 0 ${h} L ${w} ${h} Z`\n break\n case 'triangle':\n case 'flowChartExtract':\n case 'flowChartMerge':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let shapAdjst_val = 0.5\n if (shapAdjst) {\n shapAdjst_val = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n\n let p1x = w * shapAdjst_val\n let p1y = 0\n let p2x = 0\n let p2y = h\n let p3x = w\n let p3y = h\n\n if (shapType === 'flowChartMerge') {\n [p1x, p1y] = [w - p1x, h - p1y]\n ;[p2x, p2y] = [w - p2x, h - p2y]\n ;[p3x, p3y] = [w - p3x, h - p3y]\n }\n\n pathData = `M ${p1x} ${p1y} L ${p2x} ${p2y} L ${p3x} ${p3y} Z`\n }\n break\n case 'diamond':\n case 'flowChartDecision':\n case 'flowChartSort':\n pathData = `M ${w / 2} 0 L 0 ${h / 2} L ${w / 2} ${h} L ${w} ${h / 2} Z`\n if (shapType === 'flowChartSort') {\n pathData += ` M 0 ${h / 2} L ${w} ${h / 2}`\n }\n break\n case 'trapezoid':\n case 'flowChartManualOperation':\n case 'flowChartManualInput':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adjst_val = 0.2\n if (shapAdjst) {\n // The adjust value is a fraction of the shorter side in 100000ths, not an EMU length,\n // so RATIO_EMUs_Points has no business here; putting it through produced a top edge\n // wider than the shape itself and a self-crossing bow tie. `maxAdj` is where the two\n // top corners meet, past which the shape would invert.\n const ss = Math.min(w, h)\n const a = Math.max(0, Math.min(parseInt(shapAdjst.substring(4)), (50000 * w) / ss))\n adjst_val = (ss * a) / 100000 / w\n }\n\n let p1x = w * adjst_val,\n p1y = 0\n let p2x = 0,\n p2y = h\n let p3x = w,\n p3y = h\n let p4x = (1 - adjst_val) * w,\n p4y = 0\n\n if (shapType === 'flowChartManualInput') {\n adjst_val = 0\n p1y = h / 5\n p1x = w * adjst_val\n p4x = (1 - adjst_val) * w\n }\n\n if (shapType === 'flowChartManualOperation') {\n [p1x, p1y] = [w - p1x, h - p1y]\n ;[p2x, p2y] = [w - p2x, h - p2y]\n ;[p3x, p3y] = [w - p3x, h - p3y]\n ;[p4x, p4y] = [w - p4x, h - p4y]\n }\n\n pathData = `M ${p1x} ${p1y} L ${p2x} ${p2y} L ${p3x} ${p3y} L ${p4x} ${p4y} Z`\n }\n break\n case 'parallelogram':\n case 'flowChartInputOutput':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adjst_val = 0.25\n if (shapAdjst) {\n // Same rule as the trapezoid: the offset is `ss * adj / 200000`, a fraction of the\n // shorter side. Dividing by the aspect ratio instead leaves the slant too steep on\n // any shape that is not square.\n const ss = Math.min(w, h)\n const a = Math.max(0, Math.min(parseInt(shapAdjst.substring(4)), (100000 * w) / ss))\n adjst_val = (ss * a) / 200000 / w\n }\n pathData = `M ${adjst_val * w} 0 L 0 ${h} L ${(1 - adjst_val) * w} ${h} L ${w} 0 Z`\n }\n break\n case 'pentagon':\n pathData = `M ${0.5 * w} 0 L 0 ${0.375 * h} L ${0.15 * w} ${h} L ${0.85 * w} ${h} L ${w} ${0.375 * h} Z`\n break\n case 'hexagon':\n case 'flowChartPreparation':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 25000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const vf = 115470 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const angVal1 = 60 * Math.PI / 180\n const ss = Math.min(w, h)\n const maxAdj = cnstVal1 * w / ss\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const hd2 = h / 2\n const shd2 = hd2 * vf / cnstVal2\n const x1 = ss * a / cnstVal2\n const x2 = w - x1\n const dy1 = shd2 * Math.sin(angVal1)\n const vc = h / 2\n const y1 = vc - dy1\n const y2 = vc + dy1\n pathData = `M 0,${vc} L ${x1},${y1} L ${x2},${y1} L ${w},${vc} L ${x2},${y2} L ${x1},${y2} z`\n }\n break\n case 'heptagon':\n pathData = `M ${0.5 * w} 0 L ${w / 8} ${h / 4} L 0 ${5 / 8 * h} L ${w / 4} ${h} L ${3 / 4 * w} ${h} L ${w} ${5 / 8 * h} L ${7 / 8 * w} ${h / 4} Z`\n break\n case 'octagon':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj1 = 0.25\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) / 100000\n }\n const adj2 = (1 - adj1)\n pathData = `M ${adj1 * w} 0 L 0 ${adj1 * h} L 0 ${adj2 * h} L ${adj1 * w} ${h} L ${adj2 * w} ${h} L ${w} ${adj2 * h} L ${w} ${adj1 * h} L ${adj2 * w} 0 Z`\n }\n break\n case 'decagon':\n pathData = `M ${3 / 8 * w} 0 L ${w / 8} ${h / 8} L 0 ${h / 2} L ${w / 8} ${7 / 8 * h} L ${3 / 8 * w} ${h} L ${5 / 8 * w} ${h} L ${7 / 8 * w} ${7 / 8 * h} L ${w} ${h / 2} L ${7 / 8 * w} ${h / 8} L ${5 / 8 * w} 0 Z`\n break\n case 'dodecagon':\n pathData = `M ${3 / 8 * w} 0 L ${w / 8} ${h / 8} L 0 ${3 / 8 * h} L 0 ${5 / 8 * h} L ${w / 8} ${7 / 8 * h} L ${3 / 8 * w} ${h} L ${5 / 8 * w} ${h} L ${7 / 8 * w} ${7 / 8 * h} L ${w} ${5 / 8 * h} L ${w} ${3 / 8 * h} L ${7 / 8 * w} ${h / 8} L ${5 / 8 * w} 0 Z`\n break\n case 'star4':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 19098 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const iwd2 = wd2 * a / cnstVal1\n const ihd2 = hd2 * a / cnstVal1\n const sdx = iwd2 * Math.cos(0.7853981634)\n const sdy = ihd2 * Math.sin(0.7853981634)\n const sx1 = hc - sdx\n const sx2 = hc + sdx\n const sy1 = vc - sdy\n const sy2 = vc + sdy\n pathData = `M 0,${vc} L ${sx1},${sy1} L ${hc},0 L ${sx2},${sy1} L ${w},${vc} L ${sx2},${sy2} L ${hc},${h} L ${sx1},${sy2} z`\n }\n break\n case 'star5':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 19098 * RATIO_EMUs_Points\n let hf = 105146 * RATIO_EMUs_Points\n let vf = 110557 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n Object.keys(shapAdjst).forEach(key => {\n const name = shapAdjst[key]['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'hf') {\n hf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'vf') {\n vf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n })\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const swd2 = wd2 * hf / cnstVal1\n const shd2 = hd2 * vf / cnstVal1\n const svc = vc * vf / cnstVal1\n const dx1 = swd2 * Math.cos(0.31415926536)\n const dx2 = swd2 * Math.cos(5.3407075111)\n const dy1 = shd2 * Math.sin(0.31415926536)\n const dy2 = shd2 * Math.sin(5.3407075111)\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc + dx2\n const x4 = hc + dx1\n const y1 = svc - dy1\n const y2 = svc - dy2\n const iwd2 = swd2 * a / maxAdj\n const ihd2 = shd2 * a / maxAdj\n const sdx1 = iwd2 * Math.cos(5.9690260418)\n const sdx2 = iwd2 * Math.cos(0.94247779608)\n const sdy1 = ihd2 * Math.sin(0.94247779608)\n const sdy2 = ihd2 * Math.sin(5.9690260418)\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc + sdx2\n const sx4 = hc + sdx1\n const sy1 = svc - sdy1\n const sy2 = svc - sdy2\n const sy3 = svc + ihd2\n pathData = `M ${x1},${y1} L ${sx2},${sy1} L ${hc},0 L ${sx3},${sy1} L ${x4},${y1} L ${sx4},${sy2} L ${x3},${y2} L ${hc},${sy3} L ${x2},${y2} L ${sx1},${sy2} z`\n }\n break\n case 'star6':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2,\n hd4 = h / 4\n let adj = 28868 * RATIO_EMUs_Points\n let hf = 115470 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n Object.keys(shapAdjst).forEach(key => {\n const name = shapAdjst[key]['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'hf') {\n hf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n })\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const swd2 = wd2 * hf / cnstVal1\n const dx1 = swd2 * Math.cos(0.5235987756)\n const x1 = hc - dx1\n const x2 = hc + dx1\n const y2 = vc + hd4\n const iwd2 = swd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx2 = iwd2 / 2\n const sx1 = hc - iwd2\n const sx2 = hc - sdx2\n const sx3 = hc + sdx2\n const sx4 = hc + iwd2\n const sdy1 = ihd2 * Math.sin(1.0471975512)\n const sy1 = vc - sdy1\n const sy2 = vc + sdy1\n pathData = `M ${x1},${hd4} L ${sx2},${sy1} L ${hc},0 L ${sx3},${sy1} L ${x2},${hd4} L ${sx4},${vc} L ${x2},${y2} L ${sx3},${sy2} L ${hc},${h} L ${sx2},${sy2} L ${x1},${y2} L ${sx1},${vc} z`\n }\n break\n case 'star7':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 34601 * RATIO_EMUs_Points\n let hf = 102572 * RATIO_EMUs_Points\n let vf = 105210 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n Object.keys(shapAdjst).forEach(key => {\n const name = shapAdjst[key]['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'hf') {\n hf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'vf') {\n vf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n })\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const swd2 = wd2 * hf / cnstVal1\n const shd2 = hd2 * vf / cnstVal1\n const svc = vc * vf / cnstVal1\n const dx1 = swd2 * 97493 / 100000\n const dx2 = swd2 * 78183 / 100000\n const dx3 = swd2 * 43388 / 100000\n const dy1 = shd2 * 62349 / 100000\n const dy2 = shd2 * 22252 / 100000\n const dy3 = shd2 * 90097 / 100000\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc - dx3\n const x4 = hc + dx3\n const x5 = hc + dx2\n const x6 = hc + dx1\n const y1 = svc - dy1\n const y2 = svc + dy2\n const y3 = svc + dy3\n const iwd2 = swd2 * a / maxAdj\n const ihd2 = shd2 * a / maxAdj\n const sdx1 = iwd2 * 97493 / 100000\n const sdx2 = iwd2 * 78183 / 100000\n const sdx3 = iwd2 * 43388 / 100000\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc - sdx3\n const sx4 = hc + sdx3\n const sx5 = hc + sdx2\n const sx6 = hc + sdx1\n const sdy1 = ihd2 * 90097 / 100000\n const sdy2 = ihd2 * 22252 / 100000\n const sdy3 = ihd2 * 62349 / 100000\n const sy1 = svc - sdy1\n const sy2 = svc - sdy2\n const sy3 = svc + sdy3\n const sy4 = svc + ihd2\n pathData = `M ${x1},${y2} L ${sx1},${sy2} L ${x2},${y1} L ${sx3},${sy1} L ${hc},0 L ${sx4},${sy1} L ${x5},${y1} L ${sx6},${sy2} L ${x6},${y2} L ${sx5},${sy3} L ${x4},${y3} L ${hc},${sy4} L ${x3},${y3} L ${sx2},${sy3} z`\n }\n break\n case 'star8':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 37500 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = wd2 * Math.cos(0.7853981634)\n const x1 = hc - dx1\n const x2 = hc + dx1\n const dy1 = hd2 * Math.sin(0.7853981634)\n const y1 = vc - dy1\n const y2 = vc + dy1\n const iwd2 = wd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * 92388 / 100000\n const sdx2 = iwd2 * 38268 / 100000\n const sdy1 = ihd2 * 92388 / 100000\n const sdy2 = ihd2 * 38268 / 100000\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc + sdx2\n const sx4 = hc + sdx1\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc + sdy2\n const sy4 = vc + sdy1\n pathData = `M 0,${vc} L ${sx1},${sy2} L ${x1},${y1} L ${sx2},${sy1} L ${hc},0 L ${sx3},${sy1} L ${x2},${y1} L ${sx4},${sy2} L ${w},${vc} L ${sx4},${sy3} L ${x2},${y2} L ${sx3},${sy4} L ${hc},${h} L ${sx2},${sy4} L ${x1},${y2} L ${sx1},${sy3} z`\n }\n break\n case 'star10':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 42533 * RATIO_EMUs_Points\n let hf = 105146 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n Object.keys(shapAdjst).forEach(key => {\n const name = shapAdjst[key]['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n } \n else if (name === 'hf') {\n hf = parseInt(shapAdjst[key]['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n })\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const swd2 = wd2 * hf / cnstVal1\n const dx1 = swd2 * 95106 / 100000\n const dx2 = swd2 * 58779 / 100000\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc + dx2\n const x4 = hc + dx1\n const dy1 = hd2 * 80902 / 100000\n const dy2 = hd2 * 30902 / 100000\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y4 = vc + dy1\n const iwd2 = swd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * 80902 / 100000\n const sdx2 = iwd2 * 30902 / 100000\n const sdy1 = ihd2 * 95106 / 100000\n const sdy2 = ihd2 * 58779 / 100000\n const sx1 = hc - iwd2\n const sx2 = hc - sdx1\n const sx3 = hc - sdx2\n const sx4 = hc + sdx2\n const sx5 = hc + sdx1\n const sx6 = hc + iwd2\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc + sdy2\n const sy4 = vc + sdy1\n pathData = `M ${x1},${y2} L ${sx2},${sy2} L ${x2},${y1} L ${sx3},${sy1} L ${hc},0 L ${sx4},${sy1} L ${x3},${y1} L ${sx5},${sy2} L ${x4},${y2} L ${sx6},${vc} L ${x4},${y3} L ${sx5},${sy3} L ${x3},${y4} L ${sx4},${sy4} L ${hc},${h} L ${sx3},${sy4} L ${x2},${y4} L ${sx2},${sy3} L ${x1},${y3} L ${sx1},${vc} z`\n }\n break\n case 'star12':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2,\n hd4 = h / 4,\n wd4 = w / 4\n let adj = 37500 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = wd2 * Math.cos(0.5235987756)\n const dy1 = hd2 * Math.sin(1.0471975512)\n const x1 = hc - dx1\n const x3 = w * 3 / 4\n const x4 = hc + dx1\n const y1 = vc - dy1\n const y3 = h * 3 / 4\n const y4 = vc + dy1\n const iwd2 = wd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * Math.cos(0.2617993878)\n const sdx2 = iwd2 * Math.cos(0.7853981634)\n const sdx3 = iwd2 * Math.cos(1.308996939)\n const sdy1 = ihd2 * Math.sin(1.308996939)\n const sdy2 = ihd2 * Math.sin(0.7853981634)\n const sdy3 = ihd2 * Math.sin(0.2617993878)\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc - sdx3\n const sx4 = hc + sdx3\n const sx5 = hc + sdx2\n const sx6 = hc + sdx1\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc - sdy3\n const sy4 = vc + sdy3\n const sy5 = vc + sdy2\n const sy6 = vc + sdy1\n pathData = `M 0,${vc} L ${sx1},${sy3} L ${x1},${hd4} L ${sx2},${sy2} L ${wd4},${y1} L ${sx3},${sy1} L ${hc},0 L ${sx4},${sy1} L ${x3},${y1} L ${sx5},${sy2} L ${x4},${hd4} L ${sx6},${sy3} L ${w},${vc} L ${sx6},${sy4} L ${x4},${y3} L ${sx5},${sy5} L ${x3},${y4} L ${sx4},${sy6} L ${hc},${h} L ${sx3},${sy6} L ${wd4},${y4} L ${sx2},${sy5} L ${x1},${y3} L ${sx1},${sy4} z`\n }\n break\n case 'star16':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 37500 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = wd2 * 92388 / 100000\n const dx2 = wd2 * 70711 / 100000\n const dx3 = wd2 * 38268 / 100000\n const dy1 = hd2 * 92388 / 100000\n const dy2 = hd2 * 70711 / 100000\n const dy3 = hd2 * 38268 / 100000\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc - dx3\n const x4 = hc + dx3\n const x5 = hc + dx2\n const x6 = hc + dx1\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc - dy3\n const y4 = vc + dy3\n const y5 = vc + dy2\n const y6 = vc + dy1\n const iwd2 = wd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * 98079 / 100000\n const sdx2 = iwd2 * 83147 / 100000\n const sdx3 = iwd2 * 55557 / 100000\n const sdx4 = iwd2 * 19509 / 100000\n const sdy1 = ihd2 * 98079 / 100000\n const sdy2 = ihd2 * 83147 / 100000\n const sdy3 = ihd2 * 55557 / 100000\n const sdy4 = ihd2 * 19509 / 100000\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc - sdx3\n const sx4 = hc - sdx4\n const sx5 = hc + sdx4\n const sx6 = hc + sdx3\n const sx7 = hc + sdx2\n const sx8 = hc + sdx1\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc - sdy3\n const sy4 = vc - sdy4\n const sy5 = vc + sdy4\n const sy6 = vc + sdy3\n const sy7 = vc + sdy2\n const sy8 = vc + sdy1\n pathData = `M 0,${vc} L ${sx1},${sy4} L ${x1},${y3} L ${sx2},${sy3} L ${x2},${y2} L ${sx3},${sy2} L ${x3},${y1} L ${sx4},${sy1} L ${hc},0 L ${sx5},${sy1} L ${x4},${y1} L ${sx6},${sy2} L ${x5},${y2} L ${sx7},${sy3} L ${x6},${y3} L ${sx8},${sy4} L ${w},${vc} L ${sx8},${sy5} L ${x6},${y4} L ${sx7},${sy6} L ${x5},${y5} L ${sx6},${sy7} L ${x4},${y6} L ${sx5},${sy8} L ${hc},${h} L ${sx4},${sy8} L ${x3},${y6} L ${sx3},${sy7} L ${x2},${y5} L ${sx2},${sy6} L ${x1},${y4} L ${sx1},${sy5} z`\n }\n break\n case 'star24':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2,\n hd4 = h / 4,\n wd4 = w / 4\n let adj = 37500 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = wd2 * Math.cos(0.2617993878)\n const dx2 = wd2 * Math.cos(0.5235987756)\n const dx3 = wd2 * Math.cos(0.7853981634)\n const dx4 = wd4\n const dx5 = wd2 * Math.cos(1.308996939)\n const dy1 = hd2 * Math.sin(1.308996939)\n const dy2 = hd2 * Math.sin(1.0471975512)\n const dy3 = hd2 * Math.sin(0.7853981634)\n const dy4 = hd4\n const dy5 = hd2 * Math.sin(0.2617993878)\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc - dx3\n const x4 = hc - dx4\n const x5 = hc - dx5\n const x6 = hc + dx5\n const x7 = hc + dx4\n const x8 = hc + dx3\n const x9 = hc + dx2\n const x10 = hc + dx1\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc - dy3\n const y4 = vc - dy4\n const y5 = vc - dy5\n const y6 = vc + dy5\n const y7 = vc + dy4\n const y8 = vc + dy3\n const y9 = vc + dy2\n const y10 = vc + dy1\n const iwd2 = wd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * 99144 / 100000\n const sdx2 = iwd2 * 92388 / 100000\n const sdx3 = iwd2 * 79335 / 100000\n const sdx4 = iwd2 * 60876 / 100000\n const sdx5 = iwd2 * 38268 / 100000\n const sdx6 = iwd2 * 13053 / 100000\n const sdy1 = ihd2 * 99144 / 100000\n const sdy2 = ihd2 * 92388 / 100000\n const sdy3 = ihd2 * 79335 / 100000\n const sdy4 = ihd2 * 60876 / 100000\n const sdy5 = ihd2 * 38268 / 100000\n const sdy6 = ihd2 * 13053 / 100000\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc - sdx3\n const sx4 = hc - sdx4\n const sx5 = hc - sdx5\n const sx6 = hc - sdx6\n const sx7 = hc + sdx6\n const sx8 = hc + sdx5\n const sx9 = hc + sdx4\n const sx10 = hc + sdx3\n const sx11 = hc + sdx2\n const sx12 = hc + sdx1\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc - sdy3\n const sy4 = vc - sdy4\n const sy5 = vc - sdy5\n const sy6 = vc - sdy6\n const sy7 = vc + sdy6\n const sy8 = vc + sdy5\n const sy9 = vc + sdy4\n const sy10 = vc + sdy3\n const sy11 = vc + sdy2\n const sy12 = vc + sdy1\n pathData = `M 0,${vc} L ${sx1},${sy6} L ${x1},${y5} L ${sx2},${sy5} L ${x2},${y4} L ${sx3},${sy4} L ${x3},${y3} L ${sx4},${sy3} L ${x4},${y2} L ${sx5},${sy2} L ${x5},${y1} L ${sx6},${sy1} L ${hc},0 L ${sx7},${sy1} L ${x6},${y1} L ${sx8},${sy2} L ${x7},${y2} L ${sx9},${sy3} L ${x8},${y3} L ${sx10},${sy4} L ${x9},${y4} L ${sx11},${sy5} L ${x10},${y5} L ${sx12},${sy6} L ${w},${vc} L ${sx12},${sy7} L ${x10},${y6} L ${sx11},${sy8} L ${x9},${y7} L ${sx10},${sy9} L ${x8},${y8} L ${sx9},${sy10} L ${x7},${y9} L ${sx8},${sy11} L ${x6},${y10} L ${sx7},${sy12} L ${hc},${h} L ${sx6},${sy12} L ${x5},${y10} L ${sx5},${sy11} L ${x4},${y9} L ${sx4},${sy10} L ${x3},${y8} L ${sx3},${sy9} L ${x2},${y7} L ${sx2},${sy8} L ${x1},${y6} L ${sx1},${sy7} z`\n }\n break\n case 'star32':\n {\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n let adj = 37500 * RATIO_EMUs_Points\n const maxAdj = 50000 * RATIO_EMUs_Points\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst) {\n const name = shapAdjst['attrs']['name']\n if (name === 'adj') {\n adj = parseInt(shapAdjst['attrs']['fmla'].substring(4)) * RATIO_EMUs_Points\n }\n }\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = wd2 * 98079 / 100000\n const dx2 = wd2 * 92388 / 100000\n const dx3 = wd2 * 83147 / 100000\n const dx4 = wd2 * Math.cos(0.7853981634)\n const dx5 = wd2 * 55557 / 100000\n const dx6 = wd2 * 38268 / 100000\n const dx7 = wd2 * 19509 / 100000\n const dy1 = hd2 * 98079 / 100000\n const dy2 = hd2 * 92388 / 100000\n const dy3 = hd2 * 83147 / 100000\n const dy4 = hd2 * Math.sin(0.7853981634)\n const dy5 = hd2 * 55557 / 100000\n const dy6 = hd2 * 38268 / 100000\n const dy7 = hd2 * 19509 / 100000\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc - dx3\n const x4 = hc - dx4\n const x5 = hc - dx5\n const x6 = hc - dx6\n const x7 = hc - dx7\n const x8 = hc + dx7\n const x9 = hc + dx6\n const x10 = hc + dx5\n const x11 = hc + dx4\n const x12 = hc + dx3\n const x13 = hc + dx2\n const x14 = hc + dx1\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc - dy3\n const y4 = vc - dy4\n const y5 = vc - dy5\n const y6 = vc - dy6\n const y7 = vc - dy7\n const y8 = vc + dy7\n const y9 = vc + dy6\n const y10 = vc + dy5\n const y11 = vc + dy4\n const y12 = vc + dy3\n const y13 = vc + dy2\n const y14 = vc + dy1\n const iwd2 = wd2 * a / maxAdj\n const ihd2 = hd2 * a / maxAdj\n const sdx1 = iwd2 * 99518 / 100000\n const sdx2 = iwd2 * 95694 / 100000\n const sdx3 = iwd2 * 88192 / 100000\n const sdx4 = iwd2 * 77301 / 100000\n const sdx5 = iwd2 * 63439 / 100000\n const sdx6 = iwd2 * 47140 / 100000\n const sdx7 = iwd2 * 29028 / 100000\n const sdx8 = iwd2 * 9802 / 100000\n const sdy1 = ihd2 * 99518 / 100000\n const sdy2 = ihd2 * 95694 / 100000\n const sdy3 = ihd2 * 88192 / 100000\n const sdy4 = ihd2 * 77301 / 100000\n const sdy5 = ihd2 * 63439 / 100000\n const sdy6 = ihd2 * 47140 / 100000\n const sdy7 = ihd2 * 29028 / 100000\n const sdy8 = ihd2 * 9802 / 100000\n const sx1 = hc - sdx1\n const sx2 = hc - sdx2\n const sx3 = hc - sdx3\n const sx4 = hc - sdx4\n const sx5 = hc - sdx5\n const sx6 = hc - sdx6\n const sx7 = hc - sdx7\n const sx8 = hc - sdx8\n const sx9 = hc + sdx8\n const sx10 = hc + sdx7\n const sx11 = hc + sdx6\n const sx12 = hc + sdx5\n const sx13 = hc + sdx4\n const sx14 = hc + sdx3\n const sx15 = hc + sdx2\n const sx16 = hc + sdx1\n const sy1 = vc - sdy1\n const sy2 = vc - sdy2\n const sy3 = vc - sdy3\n const sy4 = vc - sdy4\n const sy5 = vc - sdy5\n const sy6 = vc - sdy6\n const sy7 = vc - sdy7\n const sy8 = vc - sdy8\n const sy9 = vc + sdy8\n const sy10 = vc + sdy7\n const sy11 = vc + sdy6\n const sy12 = vc + sdy5\n const sy13 = vc + sdy4\n const sy14 = vc + sdy3\n const sy15 = vc + sdy2\n const sy16 = vc + sdy1\n pathData = `M 0,${vc} L ${sx1},${sy8} L ${x1},${y7} L ${sx2},${sy7} L ${x2},${y6} L ${sx3},${sy6} L ${x3},${y5} L ${sx4},${sy5} L ${x4},${y4} L ${sx5},${sy4} L ${x5},${y3} L ${sx6},${sy3} L ${x6},${y2} L ${sx7},${sy2} L ${x7},${y1} L ${sx8},${sy1} L ${hc},0 L ${sx9},${sy1} L ${x8},${y1} L ${sx10},${sy2} L ${x9},${y2} L ${sx11},${sy3} L ${x10},${y3} L ${sx12},${sy4} L ${x11},${y4} L ${sx13},${sy5} L ${x12},${y5} L ${sx14},${sy6} L ${x13},${y6} L ${sx15},${sy7} L ${x14},${y7} L ${sx16},${sy8} L ${w},${vc} L ${sx16},${sy9} L ${x14},${y8} L ${sx15},${sy10} L ${x13},${y9} L ${sx14},${sy11} L ${x12},${y10} L ${sx13},${sy12} L ${x11},${y11} L ${sx12},${sy13} L ${x10},${y12} L ${sx11},${sy14} L ${x9},${y13} L ${sx10},${sy15} L ${x8},${y14} L ${sx9},${sy16} L ${hc},${h} L ${sx8},${sy16} L ${x7},${y14} L ${sx7},${sy15} L ${x6},${y13} L ${sx6},${sy14} L ${x5},${y12} L ${sx5},${sy13} L ${x4},${y11} L ${sx4},${sy12} L ${x3},${y10} L ${sx3},${sy11} L ${x2},${y9} L ${sx2},${sy10} L ${x1},${y8} L ${sx1},${sy9} z`\n }\n break\n case 'pie':\n case 'pieWedge':\n case 'arc':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1, adj2, H, isClose\n\n if (shapType === 'pie') {\n adj1 = 0\n adj2 = 270\n H = h\n isClose = true\n } \n else if (shapType === 'pieWedge') {\n adj1 = 180\n adj2 = 270\n H = 2 * h\n isClose = true\n } \n else if (shapType === 'arc') {\n adj1 = 270\n adj2 = 0\n H = h\n isClose = false\n }\n\n if (shapAdjst) {\n const shapAdjstAry = Array.isArray(shapAdjst) ? shapAdjst : [shapAdjst]\n for (const adj of shapAdjstAry) {\n const name = getTextByPathList(adj, ['attrs', 'name'])\n const fmla = getTextByPathList(adj, ['attrs', 'fmla'])\n if (!name || !fmla) continue\n\n if (name === 'adj1') {\n adj1 = parseInt(fmla.substring(4)) / 60000\n }\n else if (name === 'adj2') {\n adj2 = parseInt(fmla.substring(4)) / 60000\n }\n }\n }\n\n pathData = shapePie(H, w, adj1, adj2, isClose)\n }\n break\n case 'chord':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 45\n let sAdj2_val = 270\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n const sAdj1 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj1_val = parseInt(sAdj1.substring(4)) / 60000\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2 = getTextByPathList(adj, ['attrs', 'fmla'])\n sAdj2_val = parseInt(sAdj2.substring(4)) / 60000\n }\n }\n }\n const hR = h / 2\n const wR = w / 2\n pathData = shapeArc(wR, hR, wR, hR, sAdj1_val, sAdj2_val, true)\n }\n break\n case 'frame':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj1 = 12500 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const x1 = Math.min(w, h) * a1 / cnstVal2\n const x4 = w - x1\n const y4 = h - x1\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${x1},${x1} L ${x1},${y4} L ${x4},${y4} L ${x4},${x1} z`\n }\n break\n case 'donut':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const dr = Math.min(w, h) * a / cnstVal2\n const iwd2 = w / 2 - dr\n const ihd2 = h / 2 - dr\n const outerPath = `M ${w / 2 - w / 2},${h / 2} A ${w / 2},${h / 2} 0 1,0 ${w / 2 + w / 2},${h / 2} A ${w / 2},${h / 2} 0 1,0 ${w / 2 - w / 2},${h / 2} Z`\n const innerPath = `M ${w / 2 + iwd2},${h / 2} A ${iwd2},${ihd2} 0 1,0 ${w / 2 - iwd2},${h / 2} A ${iwd2},${ihd2} 0 1,0 ${w / 2 + iwd2},${h / 2} Z`\n pathData = `${outerPath} ${innerPath}`\n }\n break\n case 'noSmoking':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 18750 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const dr = Math.min(w, h) * a / cnstVal2\n const iwd2 = w / 2 - dr\n const ihd2 = h / 2 - dr\n const ang = Math.atan(h / w)\n const ct = ihd2 * Math.cos(ang)\n const st = iwd2 * Math.sin(ang)\n const m = Math.sqrt(ct * ct + st * st)\n const n = iwd2 * ihd2 / m\n const drd2 = dr / 2\n const dang = Math.atan(drd2 / n)\n const swAng = -Math.PI + (dang * 2)\n const stAng1 = ang - dang\n const stAng2 = stAng1 - Math.PI\n const ct1 = ihd2 * Math.cos(stAng1)\n const st1 = iwd2 * Math.sin(stAng1)\n const m1 = Math.sqrt(ct1 * ct1 + st1 * st1)\n const n1 = iwd2 * ihd2 / m1\n const dx1 = n1 * Math.cos(stAng1)\n const dy1 = n1 * Math.sin(stAng1)\n const x1 = w / 2 + dx1\n const y1 = h / 2 + dy1\n const x2 = w / 2 - dx1\n const y2 = h / 2 - dy1\n const stAng1deg = stAng1 * 180 / Math.PI\n const stAng2deg = stAng2 * 180 / Math.PI\n const swAng2deg = swAng * 180 / Math.PI\n const outerCircle = `M ${w / 2 - w / 2},${h / 2} A ${w / 2},${h / 2} 0 1,0 ${w / 2 + w / 2},${h / 2} A ${w / 2},${h / 2} 0 1,0 ${w / 2 - w / 2},${h / 2} Z`\n const slash1 = `M ${x1},${y1} ${shapeArc(w / 2, h / 2, iwd2, ihd2, stAng1deg, (stAng1deg + swAng2deg), false).replace('M', 'L')} z`\n const slash2 = `M ${x2},${y2} ${shapeArc(w / 2, h / 2, iwd2, ihd2, stAng2deg, (stAng2deg + swAng2deg), false).replace('M', 'L')} z`\n pathData = `${outerCircle} ${slash1} ${slash2}`\n }\n break\n case 'halfFrame':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 3.5\n let sAdj2_val = 3.5\n const cnsVal = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n sAdj2_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const maxAdj2 = (cnsVal * w) / minWH\n const a2 = (sAdj2_val < 0) ? 0 : (sAdj2_val > maxAdj2) ? maxAdj2 : sAdj2_val\n const x1 = (minWH * a2) / cnsVal\n const g2 = h - (h * x1 / w)\n const maxAdj1 = (cnsVal * g2) / minWH\n const a1 = (sAdj1_val < 0) ? 0 : (sAdj1_val > maxAdj1) ? maxAdj1 : sAdj1_val\n const y1 = minWH * a1 / cnsVal\n const x2 = w - (y1 * w / h)\n const y2 = h - (x1 * h / w)\n pathData = `M 0,0 L ${w},0 L ${x2},${y1} L ${x1},${y1} L ${x1},${y2} L 0,${h} z`\n }\n break\n case 'blockArc':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 180\n let adj2 = 0\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cd1 = 360\n const stAng = (adj1 < 0) ? 0 : (adj1 > cd1) ? cd1 : adj1\n const istAng = (adj2 < 0) ? 0 : (adj2 > cd1) ? cd1 : adj2\n const a3 = (adj3 < 0) ? 0 : (adj3 > cnstVal1) ? cnstVal1 : adj3\n const sw11 = istAng - stAng\n const sw12 = sw11 + cd1\n const swAng = (sw11 > 0) ? sw11 : sw12\n const iswAng = -swAng\n const endAng = stAng + swAng\n const iendAng = istAng + iswAng\n const stRd = stAng * (Math.PI) / 180\n const istRd = istAng * (Math.PI) / 180\n const wd2 = w / 2\n const hd2 = h / 2\n const hc = w / 2\n const vc = h / 2\n let x1, y1\n if (stAng > 90 && stAng < 270) {\n const wt1 = wd2 * (Math.sin((Math.PI) / 2 - stRd))\n const ht1 = hd2 * (Math.cos((Math.PI) / 2 - stRd))\n const dx1 = wd2 * (Math.cos(Math.atan(ht1 / wt1)))\n const dy1 = hd2 * (Math.sin(Math.atan(ht1 / wt1)))\n x1 = hc - dx1\n y1 = vc - dy1\n } \n else {\n const wt1 = wd2 * (Math.sin(stRd))\n const ht1 = hd2 * (Math.cos(stRd))\n const dx1 = wd2 * (Math.cos(Math.atan(wt1 / ht1)))\n const dy1 = hd2 * (Math.sin(Math.atan(wt1 / ht1)))\n x1 = hc + dx1\n y1 = vc + dy1\n }\n const dr = Math.min(w, h) * a3 / cnstVal2\n const iwd2 = wd2 - dr\n const ihd2 = hd2 - dr\n let x2, y2\n if ((endAng <= 450 && endAng > 270) || ((endAng >= 630 && endAng < 720))) {\n const wt2 = iwd2 * (Math.sin(istRd))\n const ht2 = ihd2 * (Math.cos(istRd))\n const dx2 = iwd2 * (Math.cos(Math.atan(wt2 / ht2)))\n const dy2 = ihd2 * (Math.sin(Math.atan(wt2 / ht2)))\n x2 = hc + dx2\n y2 = vc + dy2\n } \n else {\n const wt2 = iwd2 * (Math.sin((Math.PI) / 2 - istRd))\n const ht2 = ihd2 * (Math.cos((Math.PI) / 2 - istRd))\n const dx2 = iwd2 * (Math.cos(Math.atan(ht2 / wt2)))\n const dy2 = ihd2 * (Math.sin(Math.atan(ht2 / wt2)))\n x2 = hc - dx2\n y2 = vc - dy2\n }\n pathData = `M ${x1},${y1} ${shapeArc(wd2, hd2, wd2, hd2, stAng, endAng, false).replace('M', 'L')} L ${x2},${y2} ${shapeArc(wd2, hd2, iwd2, ihd2, istAng, iendAng, false).replace('M', 'L')} z`\n }\n break\n case 'bracePair':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 8333 * RATIO_EMUs_Points\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal2 = 50000 * RATIO_EMUs_Points\n const cnstVal3 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const vc = h / 2,\n cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const minWH = Math.min(w, h)\n const x1 = minWH * a / cnstVal3\n const x2 = minWH * a / cnstVal2\n const x3 = w - x2\n const x4 = w - x1\n const y2 = vc - x1\n const y3 = vc + x1\n const y4 = h - x1\n pathData = `M ${x2},${h} ${shapeArc(x2, y4, x1, x1, cd4, cd2, false).replace('M', 'L')} L ${x1},${y3} ${shapeArc(0, y3, x1, x1, 0, (-cd4), false).replace('M', 'L')} ${shapeArc(0, y2, x1, x1, cd4, 0, false).replace('M', 'L')} L ${x1},${x1} ${shapeArc(x2, x1, x1, x1, cd2, c3d4, false).replace('M', 'L')} M ${x3},0 ${shapeArc(x3, x1, x1, x1, c3d4, 360, false).replace('M', 'L')} L ${x4},${y2} ${shapeArc(w, y2, x1, x1, cd2, cd4, false).replace('M', 'L')} ${shapeArc(w, y3, x1, x1, c3d4, cd2, false).replace('M', 'L')} L ${x4},${y4} ${shapeArc(x3, y4, x1, x1, 0, cd4, false).replace('M', 'L')}`\n }\n break\n case 'leftBrace':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 8333 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal2) ? cnstVal2 : adj2\n const minWH = Math.min(w, h)\n const q1 = cnstVal2 - a2\n const q2 = (q1 < a2) ? q1 : a2\n const q3 = q2 / 2\n const maxAdj1 = q3 * h / minWH\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const y1 = minWH * a1 / cnstVal2\n const y3 = h * a2 / cnstVal2\n const y2 = y3 - y1\n const y4 = y3 + y1\n pathData = `M ${w},${h} ${shapeArc(w, h - y1, w / 2, y1, cd4, cd2, false).replace('M', 'L')} L ${w / 2},${y4} ${shapeArc(0, y4, w / 2, y1, 0, (-cd4), false).replace('M', 'L')} ${shapeArc(0, y2, w / 2, y1, cd4, 0, false).replace('M', 'L')} L ${w / 2},${y1} ${shapeArc(w, y1, w / 2, y1, cd2, c3d4, false).replace('M', 'L')}`\n }\n break\n case 'rightBrace':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 8333 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cd = 360,\n cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal2) ? cnstVal2 : adj2\n const minWH = Math.min(w, h)\n const q1 = cnstVal2 - a2\n const q2 = (q1 < a2) ? q1 : a2\n const q3 = q2 / 2\n const maxAdj1 = q3 * h / minWH\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const y1 = minWH * a1 / cnstVal2\n const y3 = h * a2 / cnstVal2\n const y2 = y3 - y1\n const y4 = h - y1\n pathData = `M 0,0 ${shapeArc(0, y1, w / 2, y1, c3d4, cd, false).replace('M', 'L')} L ${w / 2},${y2} ${shapeArc(w, y2, w / 2, y1, cd2, cd4, false).replace('M', 'L')} ${shapeArc(w, y3 + y1, w / 2, y1, c3d4, cd2, false).replace('M', 'L')} L ${w / 2},${y4} ${shapeArc(0, y4, w / 2, y1, 0, cd4, false).replace('M', 'L')}`\n }\n break\n case 'bracketPair':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 16667 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const x1 = Math.min(w, h) * a / cnstVal2\n const x2 = w - x1\n const y2 = h - x1\n pathData = `${shapeArc(x1, x1, x1, x1, c3d4, cd2, false)} ${shapeArc(x1, y2, x1, x1, cd2, cd4, false).replace('M', 'L')} ${shapeArc(x2, x1, x1, x1, c3d4, (c3d4 + cd4), false)} ${shapeArc(x2, y2, x1, x1, 0, cd4, false).replace('M', 'L')}`\n }\n break\n case 'leftBracket':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 8333 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const maxAdj = cnstVal1 * h / Math.min(w, h)\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n let y1 = Math.min(w, h) * a / cnstVal2\n if (y1 > w) y1 = w\n const y2 = h - y1\n pathData = `M ${w},${h} ${shapeArc(y1, y2, y1, y1, cd4, cd2, false).replace('M', 'L')} L 0,${y1} ${shapeArc(y1, y1, y1, y1, cd2, c3d4, false).replace('M', 'L')} L ${w},0`\n }\n break\n case 'rightBracket':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 8333 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const maxAdj = cnstVal1 * h / Math.min(w, h)\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const cd = 360,\n cd4 = 90,\n c3d4 = 270\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const y1 = Math.min(w, h) * a / cnstVal2\n const y2 = h - y1\n const y3 = w - y1\n pathData = `M 0,${h} ${shapeArc(y3, y2, y1, y1, cd4, 0, false).replace('M', 'L')} L ${w},${h / 2} ${shapeArc(y3, y1, y1, y1, cd, c3d4, false).replace('M', 'L')} L 0,0`\n }\n break\n case 'moon':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 0.5\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) / 100000\n }\n const hd2 = h / 2\n const cd2 = 180\n const cd4 = 90\n const adj2 = (1 - adj) * w\n pathData = `M ${w},${h} ${shapeArc(w, hd2, w, hd2, cd4, (cd4 + cd2), false).replace('M', 'L')} ${shapeArc(w, hd2, adj2, hd2, (cd4 + cd2), cd4, false).replace('M', 'L')} z`\n }\n break\n case 'corner':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 50000 * RATIO_EMUs_Points\n let sAdj2_val = 50000 * RATIO_EMUs_Points\n const cnsVal = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n sAdj2_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const maxAdj1 = cnsVal * h / minWH\n const maxAdj2 = cnsVal * w / minWH\n const a1 = (sAdj1_val < 0) ? 0 : (sAdj1_val > maxAdj1) ? maxAdj1 : sAdj1_val\n const a2 = (sAdj2_val < 0) ? 0 : (sAdj2_val > maxAdj2) ? maxAdj2 : sAdj2_val\n const x1 = minWH * a2 / cnsVal\n const dy1 = minWH * a1 / cnsVal\n const y1 = h - dy1\n pathData = `M 0,0 L ${x1},0 L ${x1},${y1} L ${w},${y1} L ${w},${h} L 0,${h} z`\n }\n break\n case 'diagStripe':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let sAdj1_val = 50000 * RATIO_EMUs_Points\n const cnsVal = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n sAdj1_val = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a1 = (sAdj1_val < 0) ? 0 : (sAdj1_val > cnsVal) ? cnsVal : sAdj1_val\n const x2 = w * a1 / cnsVal\n const y2 = h * a1 / cnsVal\n pathData = `M 0,${y2} L ${x2},0 L ${w},0 L 0,${h} z`\n }\n break\n case 'gear6':\n case 'gear9':\n pathData = shapeGear(w, h / 3.5, parseInt(shapType.substring(4)))\n break\n case 'bentConnector3':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let shapAdjst_val = 0.5\n if (shapAdjst) {\n shapAdjst_val = parseInt(shapAdjst.substring(4)) / 100000\n }\n pathData = `M 0 0 L ${shapAdjst_val * w} 0 L ${shapAdjst_val * w} ${h} L ${w} ${h}`\n }\n break\n case 'plus':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj1 = 0.25\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) / 100000\n }\n const adj2 = (1 - adj1)\n pathData = `M ${adj1 * w} 0 L ${adj1 * w} ${adj1 * h} L 0 ${adj1 * h} L 0 ${adj2 * h} L ${adj1 * w} ${adj2 * h} L ${adj1 * w} ${h} L ${adj2 * w} ${h} L ${adj2 * w} ${adj2 * h} L ${w} ${adj2 * h} L ${w} ${adj1 * h} L ${adj2 * w} ${adj1 * h} L ${adj2 * w} 0 Z`\n }\n break\n case 'teardrop':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj1 = 100000 * RATIO_EMUs_Points\n const cnsVal1 = adj1\n const cnsVal2 = 200000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnsVal2) ? cnsVal2 : adj1\n const r2 = Math.sqrt(2)\n const tw = r2 * (w / 2)\n const th = r2 * (h / 2)\n const sw = (tw * a1) / cnsVal1\n const sh = (th * a1) / cnsVal1\n const rd45 = (45 * (Math.PI) / 180)\n const dx1 = sw * (Math.cos(rd45))\n const dy1 = sh * (Math.cos(rd45))\n const x1 = (w / 2) + dx1\n const y1 = (h / 2) - dy1\n const x2 = ((w / 2) + x1) / 2\n const y2 = ((h / 2) + y1) / 2\n pathData = `${shapeArc(w / 2, h / 2, w / 2, h / 2, 180, 270, false)} Q ${x2},0 ${x1},${y1} Q ${w},${y2} ${w},${h / 2} ${shapeArc(w / 2, h / 2, w / 2, h / 2, 0, 90, false).replace('M', 'L')} ${shapeArc(w / 2, h / 2, w / 2, h / 2, 90, 180, false).replace('M', 'L')} z`\n }\n break\n case 'plaque':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj1 = 16667 * RATIO_EMUs_Points\n const cnsVal1 = 50000 * RATIO_EMUs_Points\n const cnsVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnsVal1) ? cnsVal1 : adj1\n const x1 = a1 * (Math.min(w, h)) / cnsVal2\n const x2 = w - x1\n const y2 = h - x1\n pathData = `M 0,${x1} ${shapeArc(0, 0, x1, x1, 90, 0, false).replace('M', 'L')} L ${x2},0 ${shapeArc(w, 0, x1, x1, 180, 90, false).replace('M', 'L')} L ${w},${y2} ${shapeArc(w, h, x1, x1, 270, 180, false).replace('M', 'L')} L ${x1},${h} ${shapeArc(0, h, x1, x1, 0, -90, false).replace('M', 'L')} z`\n }\n break\n case 'sun':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj1 = 25000 * refr\n const cnstVal1 = 12500 * refr\n const cnstVal2 = 46875 * refr\n if (shapAdjst) {\n adj1 = parseInt(shapAdjst.substring(4)) * refr\n }\n const a1 = (adj1 < cnstVal1) ? cnstVal1 : (adj1 > cnstVal2) ? cnstVal2 : adj1\n const cnstVa3 = 50000 * refr\n const cnstVa4 = 100000 * refr\n const g0 = cnstVa3 - a1\n const g1 = g0 * 30274 / 32768\n const g2 = g0 * 12540 / 32768\n const g5 = cnstVa3 - g1\n const g6 = cnstVa3 - g2\n const g10 = g5 * 3 / 4\n const g11 = g6 * 3 / 4\n const g12 = g10 + 3662 * refr\n const g13 = g11 + 36620 * refr\n const g14 = g11 + 12500 * refr\n const g15 = cnstVa4 - g10\n const g16 = cnstVa4 - g12\n const g17 = cnstVa4 - g13\n const g18 = cnstVa4 - g14\n const ox1 = w * 18436 / 21600\n const oy1 = h * 3163 / 21600\n const ox2 = w * 3163 / 21600\n const oy2 = h * 18436 / 21600\n const x10 = w * g10 / cnstVa4\n const x12 = w * g12 / cnstVa4\n const x13 = w * g13 / cnstVa4\n const x14 = w * g14 / cnstVa4\n const x15 = w * g15 / cnstVa4\n const x16 = w * g16 / cnstVa4\n const x17 = w * g17 / cnstVa4\n const x18 = w * g18 / cnstVa4\n const x19 = w * a1 / cnstVa4\n const wR = w * g0 / cnstVa4\n const hR = h * g0 / cnstVa4\n const y10 = h * g10 / cnstVa4\n const y12 = h * g12 / cnstVa4\n const y13 = h * g13 / cnstVa4\n const y14 = h * g14 / cnstVa4\n const y15 = h * g15 / cnstVa4\n const y16 = h * g16 / cnstVa4\n const y17 = h * g17 / cnstVa4\n const y18 = h * g18 / cnstVa4\n pathData = `M ${w},${h / 2} L ${x15},${y18} L ${x15},${y14} z M ${ox1},${oy1} L ${x16},${y17} L ${x13},${y12} z M ${w / 2},0 L ${x18},${y10} L ${x14},${y10} z M ${ox2},${oy1} L ${x17},${y12} L ${x12},${y17} z M 0,${h / 2} L ${x10},${y14} L ${x10},${y18} z M ${ox2},${oy2} L ${x12},${y13} L ${x17},${y16} z M ${w / 2},${h} L ${x14},${y15} L ${x18},${y15} z M ${ox1},${oy2} L ${x13},${y16} L ${x16},${y13} z M ${x19},${h / 2} ${shapeArc(w / 2, h / 2, wR, hR, 180, 540, false).replace('M', 'L')} z`\n }\n break\n case 'heart':\n {\n const dx1 = w * 49 / 48\n const dx2 = w * 10 / 48\n const x1 = w / 2 - dx1\n const x2 = w / 2 - dx2\n const x3 = w / 2 + dx2\n const x4 = w / 2 + dx1\n const y1 = -h / 3\n pathData = `M ${w / 2},${h / 4} C ${x3},${y1} ${x4},${h / 4} ${w / 2},${h} C ${x1},${h / 4} ${x2},${y1} ${w / 2},${h / 4} z`\n }\n break\n case 'lightningBolt':\n {\n const x1 = w * 5022 / 21600,\n x2 = w * 11050 / 21600,\n x3 = w * 8472 / 21600,\n x5 = w * 10012 / 21600,\n x6 = w * 14767 / 21600,\n x7 = w * 12222 / 21600,\n x8 = w * 12860 / 21600,\n x10 = w * 7602 / 21600,\n x11 = w * 16577 / 21600,\n y1 = h * 3890 / 21600,\n y2 = h * 6080 / 21600,\n y3 = h * 6797 / 21600,\n y5 = h * 12877 / 21600,\n y6 = h * 9705 / 21600,\n y7 = h * 12007 / 21600,\n y8 = h * 13987 / 21600,\n y9 = h * 8382 / 21600,\n y11 = h * 14915 / 21600\n pathData = `M ${x3},0 L ${x8},${y2} L ${x2},${y3} L ${x11},${y7} L ${x6},${y5} L ${w},${h} L ${x5},${y11} L ${x7},${y8} L ${x1},${y6} L ${x10},${y9} L 0,${y1} z`\n }\n break\n case 'cube':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj = 25000 * refr\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * refr\n }\n const cnstVal2 = 100000 * refr\n const ss = Math.min(w, h)\n const a = (adj < 0) ? 0 : (adj > cnstVal2) ? cnstVal2 : adj\n const y1 = ss * a / cnstVal2\n const y4 = h - y1\n const x4 = w - y1\n pathData = `M 0,${y1} L ${y1},0 L ${w},0 L ${w},${y4} L ${x4},${h} L 0,${h} z M 0,${y1} L ${x4},${y1} M ${x4},${y1} L ${w},0 M ${x4},${y1} L ${x4},${h}`\n }\n break\n case 'bevel':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj = 12500 * refr\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * refr\n }\n const cnstVal1 = 50000 * refr\n const cnstVal2 = 100000 * refr\n const ss = Math.min(w, h)\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const x1 = ss * a / cnstVal2\n const x2 = w - x1\n const y2 = h - x1\n pathData = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z M ${x1},${x1} L ${x2},${x1} L ${x2},${y2} L ${x1},${y2} z M 0,0 L ${x1},${x1} M 0,${h} L ${x1},${y2} M ${w},0 L ${x2},${x1} M ${w},${h} L ${x2},${y2}`\n }\n break\n case 'foldedCorner':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj = 16667 * refr\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * refr\n }\n const cnstVal1 = 50000 * refr\n const cnstVal2 = 100000 * refr\n const ss = Math.min(w, h)\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const dy2 = ss * a / cnstVal2\n const dy1 = dy2 / 5\n const x1 = w - dy2\n const x2 = x1 + dy1\n const y2 = h - dy2\n const y1 = y2 + dy1\n pathData = `M ${x1},${h} L ${x2},${y1} L ${w},${y2} L ${x1},${h} L 0,${h} L 0,0 L ${w},0 L ${w},${y2}`\n }\n break\n case 'cloud':\n case 'cloudCallout':\n {\n const x0 = w * 3900 / 43200\n const y0 = h * 14370 / 43200\n const rX1 = w * 6753 / 43200,\n rY1 = h * 9190 / 43200,\n rX2 = w * 5333 / 43200,\n rY2 = h * 7267 / 43200,\n rX3 = w * 4365 / 43200,\n rY3 = h * 5945 / 43200,\n rX4 = w * 4857 / 43200,\n rY4 = h * 6595 / 43200,\n rY5 = h * 7273 / 43200,\n rX6 = w * 6775 / 43200,\n rY6 = h * 9220 / 43200,\n rX7 = w * 5785 / 43200,\n rY7 = h * 7867 / 43200,\n rX8 = w * 6752 / 43200,\n rY8 = h * 9215 / 43200,\n rX9 = w * 7720 / 43200,\n rY9 = h * 10543 / 43200,\n rX10 = w * 4360 / 43200,\n rY10 = h * 5918 / 43200,\n rX11 = w * 4345 / 43200\n const sA1 = -11429249 / 60000,\n wA1 = 7426832 / 60000,\n sA2 = -8646143 / 60000,\n wA2 = 5396714 / 60000,\n sA3 = -8748475 / 60000,\n wA3 = 5983381 / 60000,\n sA4 = -7859164 / 60000,\n wA4 = 7034504 / 60000,\n sA5 = -4722533 / 60000,\n wA5 = 6541615 / 60000,\n sA6 = -2776035 / 60000,\n wA6 = 7816140 / 60000,\n sA7 = 37501 / 60000,\n wA7 = 6842000 / 60000,\n sA8 = 1347096 / 60000,\n wA8 = 6910353 / 60000,\n sA9 = 3974558 / 60000,\n wA9 = 4542661 / 60000,\n sA10 = -16496525 / 60000,\n wA10 = 8804134 / 60000,\n sA11 = -14809710 / 60000,\n wA11 = 9151131 / 60000\n\n const getArc = (startX, startY, rX, rY, sA, wA) => {\n const cX = startX - rX * Math.cos(sA * Math.PI / 180)\n const cY = startY - rY * Math.sin(sA * Math.PI / 180)\n return shapeArc(cX, cY, rX, rY, sA, sA + wA, false).replace('M', 'L')\n }\n\n let cloudPath = `M ${x0},${y0}`\n let lastPoint = [x0, y0]\n const arcs = [\n [rX1, rY1, sA1, wA1],\n [rX2, rY2, sA2, wA2],\n [rX3, rY3, sA3, wA3],\n [rX4, rY4, sA4, wA4],\n [rX2, rY5, sA5, wA5],\n [rX6, rY6, sA6, wA6],\n [rX7, rY7, sA7, wA7],\n [rX8, rY8, sA8, wA8],\n [rX9, rY9, sA9, wA9],\n [rX10, rY10, sA10, wA10],\n [rX11, rY3, sA11, wA11]\n ]\n\n for (const arcParams of arcs) {\n const arcPath = getArc(lastPoint[0], lastPoint[1], ...arcParams)\n cloudPath += arcPath\n const lastL = arcPath.lastIndexOf('L')\n const coords = arcPath.substring(lastL + 1).split(' ')\n lastPoint = [parseFloat(coords[0]), parseFloat(coords[1])]\n }\n cloudPath += ' z'\n\n if (shapType === 'cloudCallout') {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = -20833 * refr\n let adj2 = 62500 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal2 = 100000 * refr\n const ss = Math.min(w, h)\n const wd2 = w / 2,\n hd2 = h / 2\n const dxPos = w * adj1 / cnstVal2\n const dyPos = h * adj2 / cnstVal2\n const xPos = wd2 + dxPos\n const yPos = hd2 + dyPos\n const ht = hd2 * Math.cos(Math.atan(dyPos / dxPos))\n const wt = wd2 * Math.sin(Math.atan(dyPos / dxPos))\n const g2 = wd2 * Math.cos(Math.atan(wt / ht))\n const g3 = hd2 * Math.sin(Math.atan(wt / ht))\n const g4 = (adj1 >= 0) ? wd2 + g2 : wd2 - g2\n const g5 = (adj1 >= 0) ? hd2 + g3 : hd2 - g3\n const g6 = g4 - xPos\n const g7 = g5 - yPos\n const g8 = Math.sqrt(g6 * g6 + g7 * g7)\n const g9 = ss * 6600 / 21600\n const g10 = g8 - g9\n const g11 = g10 / 3\n const g12 = ss * 1800 / 21600\n const g13 = g11 + g12\n const g16 = (g13 * g6 / g8) + xPos\n const g17 = (g13 * g7 / g8) + yPos\n const g18 = ss * 4800 / 21600\n const g20 = g18 + (g11 * 2)\n const g23 = (g20 * g6 / g8) + xPos\n const g24 = (g20 * g7 / g8) + yPos\n const g25 = ss * 1200 / 21600\n const g26 = ss * 600 / 21600\n const x23 = xPos + g26\n const x24 = g16 + g25\n const x25 = g23 + g12\n const calloutPath = `${shapeArc(x23 - g26, yPos, g26, g26, 0, 360, true)} M ${x24},${g17} ${shapeArc(x24 - g25, g17, g25, g25, 0, 360, true).replace('M', 'L')} M ${x25},${g24} ${shapeArc(x25 - g12, g24, g12, g12, 0, 360, true).replace('M', 'L')}`\n cloudPath += calloutPath\n }\n pathData = cloudPath\n }\n break\n case 'smileyFace':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj = 4653 * refr\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * refr\n }\n const cnstVal1 = 50000 * refr\n const cnstVal2 = 100000 * refr\n const cnstVal3 = 4653 * refr\n const wd2 = w / 2,\n hd2 = h / 2\n const a = (adj < -cnstVal3) ? -cnstVal3 : (adj > cnstVal3) ? cnstVal3 : adj\n const x2 = w * 6215 / 21600\n const x3 = w * 13135 / 21600\n const x4 = w * 16640 / 21600\n const y1 = h * 7570 / 21600\n const y3 = h * 16515 / 21600\n const dy2 = h * a / cnstVal2\n const y2 = y3 - dy2\n const y4 = y3 + dy2\n const dy3 = h * a / cnstVal1\n const y5 = y4 + dy3\n const wR = w * 1125 / 21600\n const hR = h * 1125 / 21600\n const cX1 = x2\n const cY1 = y1\n const cX2 = x3\n const x1_mouth = w * 4969 / 21699\n pathData = `${shapeArc(cX1, cY1, wR, hR, 0, 360, true)} ${shapeArc(cX2, cY1, wR, hR, 0, 360, true)} M ${x1_mouth},${y2} Q ${wd2},${y5} ${x4},${y2} Q ${wd2},${y5} ${x1_mouth},${y2} M 0,${hd2} ${shapeArc(wd2, hd2, wd2, hd2, 180, 540, false).replace('M', 'L')} z`\n }\n break\n case 'verticalScroll':\n case 'horizontalScroll':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n const refr = RATIO_EMUs_Points\n let adj = 12500 * refr\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * refr\n }\n const cnstVal1 = 25000 * refr\n const cnstVal2 = 100000 * refr\n const ss = Math.min(w, h)\n const t = 0,\n l = 0,\n b = h,\n r = w\n const a = (adj < 0) ? 0 : (adj > cnstVal1) ? cnstVal1 : adj\n const ch = ss * a / cnstVal2\n const ch2 = ch / 2\n const ch4 = ch / 4\n if (shapType === 'verticalScroll') {\n const x3 = ch + ch2\n const x4 = ch + ch\n const x6 = r - ch\n const x7 = r - ch2\n const x5 = x6 - ch2\n const y3 = b - ch\n const y4 = b - ch2\n pathData = `M ${ch},${y3} L ${ch},${ch2} ${shapeArc(x3, ch2, ch2, ch2, 180, 270, false).replace('M', 'L')} L ${x7},${t} ${shapeArc(x7, ch2, ch2, ch2, 270, 450, false).replace('M', 'L')} L ${x6},${ch} L ${x6},${y4} ${shapeArc(x5, y4, ch2, ch2, 0, 90, false).replace('M', 'L')} L ${ch2},${b} ${shapeArc(ch2, y4, ch2, ch2, 90, 270, false).replace('M', 'L')} z M ${x3},${t} ${shapeArc(x3, ch2, ch2, ch2, 270, 450, false).replace('M', 'L')} ${shapeArc(x3, x3 / 2, ch4, ch4, 90, 270, false).replace('M', 'L')} L ${x4},${ch2} M ${x6},${ch} L ${x3},${ch} M ${ch},${y4} ${shapeArc(ch2, y4, ch2, ch2, 0, 270, false).replace('M', 'L')} ${shapeArc(ch2, (y4 + y3) / 2, ch4, ch4, 270, 450, false).replace('M', 'L')} z M ${ch},${y4} L ${ch},${y3}`\n } \n else if (shapType === 'horizontalScroll') {\n const y3 = ch + ch2\n const y4 = ch + ch\n const y6 = b - ch\n const y7 = b - ch2\n const y5 = y6 - ch2\n const x3 = r - ch\n const x4 = r - ch2\n pathData = `M ${l},${y3} ${shapeArc(ch2, y3, ch2, ch2, 180, 270, false).replace('M', 'L')} L ${x3},${ch} L ${x3},${ch2} ${shapeArc(x4, ch2, ch2, ch2, 180, 360, false).replace('M', 'L')} L ${r},${y5} ${shapeArc(x4, y5, ch2, ch2, 0, 90, false).replace('M', 'L')} L ${ch},${y6} L ${ch},${y7} ${shapeArc(ch2, y7, ch2, ch2, 0, 180, false).replace('M', 'L')} z M ${x4},${ch} ${shapeArc(x4, ch2, ch2, ch2, 90, -180, false).replace('M', 'L')} ${shapeArc((x3 + x4) / 2, ch2, ch4, ch4, 180, 0, false).replace('M', 'L')} z M ${x4},${ch} L ${x3},${ch} M ${ch2},${y4} L ${ch2},${y3} ${shapeArc(y3 / 2, y3, ch4, ch4, 180, 360, false).replace('M', 'L')} ${shapeArc(ch2, y3, ch2, ch2, 0, 180, false).replace('M', 'L')} M ${ch},${y3} L ${ch},${y6}`\n }\n }\n break\n case 'wedgeEllipseCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = -20833 * refr\n let adj2 = 62500 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const angVal1 = 11 * Math.PI / 180\n const vc = h / 2,\n hc = w / 2\n const dxPos = w * adj1 / cnstVal1\n const dyPos = h * adj2 / cnstVal1\n const xPos = hc + dxPos\n const yPos = vc + dyPos\n const pang = Math.atan2(dyPos * w, dxPos * h)\n const stAng = pang + angVal1\n const enAng = pang - angVal1\n const dx1 = hc * Math.cos(stAng)\n const dy1 = vc * Math.sin(stAng)\n const dx2 = hc * Math.cos(enAng)\n const dy2 = vc * Math.sin(enAng)\n const x1 = hc + dx1\n const y1 = vc + dy1\n const x2 = hc + dx2\n const y2 = vc + dy2\n pathData = `M ${x1},${y1} L ${xPos},${yPos} L ${x2},${y2} ${shapeArc(hc, vc, hc, vc, enAng * 180 / Math.PI, stAng * 180 / Math.PI, true).replace('M', 'L')}`\n }\n break\n case 'wedgeRectCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = -20833 * refr\n let adj2 = 62500 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const vc = h / 2,\n hc = w / 2\n const dxPos = w * adj1 / cnstVal1\n const dyPos = h * adj2 / cnstVal1\n const xPos = hc + dxPos\n const yPos = vc + dyPos\n const dq = dxPos * h / w\n const dz = Math.abs(dyPos) - Math.abs(dq)\n const xg1 = (dxPos > 0) ? 7 : 2\n const xg2 = (dxPos > 0) ? 10 : 5\n const x1 = w * xg1 / 12\n const x2 = w * xg2 / 12\n const yg1 = (dyPos > 0) ? 7 : 2\n const yg2 = (dyPos > 0) ? 10 : 5\n const y1 = h * yg1 / 12\n const y2 = h * yg2 / 12\n const xl = (dz > 0) ? 0 : ((dxPos > 0) ? 0 : xPos)\n const xt = (dz > 0) ? ((dyPos > 0) ? x1 : xPos) : x1\n const xr = (dz > 0) ? w : ((dxPos > 0) ? xPos : w)\n const xb = (dz > 0) ? ((dyPos > 0) ? xPos : x1) : x1\n const yl = (dz > 0) ? y1 : ((dxPos > 0) ? y1 : yPos)\n const yt = (dz > 0) ? ((dyPos > 0) ? 0 : yPos) : 0\n const yr = (dz > 0) ? y1 : ((dxPos > 0) ? yPos : y1)\n const yb = (dz > 0) ? ((dyPos > 0) ? yPos : h) : h\n pathData = `M 0,0 L ${x1},0 L ${xt},${yt} L ${x2},0 L ${w},0 L ${w},${y1} L ${xr},${yr} L ${w},${y2} L ${w},${h} L ${x2},${h} L ${xb},${yb} L ${x1},${h} L 0,${h} L 0,${y2} L ${xl},${yl} L 0,${y1} z`\n }\n break\n case 'wedgeRoundRectCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = -20833 * refr\n let adj2 = 62500 * refr\n let adj3 = 16667 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const ss = Math.min(w, h)\n const vc = h / 2,\n hc = w / 2\n const dxPos = w * adj1 / cnstVal1\n const dyPos = h * adj2 / cnstVal1\n const xPos = hc + dxPos\n const yPos = vc + dyPos\n const dq = dxPos * h / w\n const dz = Math.abs(dyPos) - Math.abs(dq)\n const xg1 = (dxPos > 0) ? 7 : 2\n const xg2 = (dxPos > 0) ? 10 : 5\n const x1 = w * xg1 / 12\n const x2 = w * xg2 / 12\n const yg1 = (dyPos > 0) ? 7 : 2\n const yg2 = (dyPos > 0) ? 10 : 5\n const y1 = h * yg1 / 12\n const y2 = h * yg2 / 12\n const xl = (dz > 0) ? 0 : ((dxPos > 0) ? 0 : xPos)\n const xt = (dz > 0) ? ((dyPos > 0) ? x1 : xPos) : x1\n const xr = (dz > 0) ? w : ((dxPos > 0) ? xPos : w)\n const xb = (dz > 0) ? ((dyPos > 0) ? xPos : x1) : x1\n const yl = (dz > 0) ? y1 : ((dxPos > 0) ? y1 : yPos)\n const yt = (dz > 0) ? ((dyPos > 0) ? 0 : yPos) : 0\n const yr = (dz > 0) ? y1 : ((dxPos > 0) ? yPos : y1)\n const yb = (dz > 0) ? ((dyPos > 0) ? yPos : h) : h\n const u1 = ss * adj3 / cnstVal1\n const u2 = w - u1\n const v2 = h - u1\n pathData = `M 0,${u1} ${shapeArc(u1, u1, u1, u1, 180, 270, false).replace('M', 'L')} L ${x1},0 L ${xt},${yt} L ${x2},0 L ${u2},0 ${shapeArc(u2, u1, u1, u1, 270, 360, false).replace('M', 'L')} L ${w},${y1} L ${xr},${yr} L ${w},${y2} L ${w},${v2} ${shapeArc(u2, v2, u1, u1, 0, 90, false).replace('M', 'L')} L ${x2},${h} L ${xb},${yb} L ${x1},${h} L ${u1},${h} ${shapeArc(u1, v2, u1, u1, 90, 180, false).replace('M', 'L')} L 0,${y2} L ${xl},${yl} L 0,${y1} z`\n }\n break\n case 'accentBorderCallout1':\n case 'accentBorderCallout2':\n case 'accentBorderCallout3':\n case 'borderCallout1':\n case 'borderCallout2':\n case 'borderCallout3':\n case 'accentCallout1':\n case 'accentCallout2':\n case 'accentCallout3':\n case 'callout1':\n case 'callout2':\n case 'callout3':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = 18750 * refr\n let adj2 = -8333 * refr\n let adj3 = 18750 * refr\n let adj4 = -16667 * refr\n let adj5 = 100000 * refr\n let adj6 = -16667 * refr\n let adj7 = 112963 * refr\n let adj8 = -8333 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj5') {\n adj5 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj6') {\n adj6 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj7') {\n adj7 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n else if (sAdj_name === 'adj8') {\n adj8 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 100000 * refr\n let x1, y1, x2, y2, x3, y3, x4, y4\n const baseRect = `M 0,0 L ${w},0 L ${w},${h} L 0,${h} z`\n switch (shapType) {\n case 'borderCallout1':\n case 'callout1':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 112500 * refr\n adj4 = -38333 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2}`\n break\n case 'borderCallout2':\n case 'callout2':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 18750 * refr\n adj4 = -16667 * refr\n adj5 = 112500 * refr\n adj6 = -46667 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n y3 = h * adj5 / cnstVal1\n x3 = w * adj6 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2} L ${x3},${y3}`\n break\n case 'borderCallout3':\n case 'callout3':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 18750 * refr\n adj4 = -16667 * refr\n adj5 = 100000 * refr\n adj6 = -16667 * refr\n adj7 = 112963 * refr\n adj8 = -8333 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n y3 = h * adj5 / cnstVal1\n x3 = w * adj6 / cnstVal1\n y4 = h * adj7 / cnstVal1\n x4 = w * adj8 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2} L ${x3},${y3} L ${x4},${y4}`\n break\n case 'accentBorderCallout1':\n case 'accentCallout1':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 112500 * refr\n adj4 = -38333 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2} M ${x1},0 L ${x1},${h}`\n break\n case 'accentBorderCallout2':\n case 'accentCallout2':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 18750 * refr\n adj4 = -16667 * refr\n adj5 = 112500 * refr\n adj6 = -46667 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n y3 = h * adj5 / cnstVal1\n x3 = w * adj6 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2} L ${x3},${y3} M ${x1},0 L ${x1},${h}`\n break\n case 'accentBorderCallout3':\n case 'accentCallout3':\n if (!shapAdjst_ary) {\n adj1 = 18750 * refr\n adj2 = -8333 * refr\n adj3 = 18750 * refr\n adj4 = -16667 * refr\n adj5 = 100000 * refr\n adj6 = -16667 * refr\n adj7 = 112963 * refr\n adj8 = -8333 * refr\n }\n y1 = h * adj1 / cnstVal1\n x1 = w * adj2 / cnstVal1\n y2 = h * adj3 / cnstVal1\n x2 = w * adj4 / cnstVal1\n y3 = h * adj5 / cnstVal1\n x3 = w * adj6 / cnstVal1\n y4 = h * adj7 / cnstVal1\n x4 = w * adj8 / cnstVal1\n pathData = `${baseRect} M ${x1},${y1} L ${x2},${y2} L ${x3},${y3} L ${x4},${y4} M ${x1},0 L ${x1},${h}`\n break\n default:\n }\n }\n break\n case 'leftRightRibbon':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = 50000 * refr\n let adj2 = 50000 * refr\n let adj3 = 16667 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 33333 * refr\n const cnstVal2 = 100000 * refr\n const cnstVal3 = 200000 * refr\n const cnstVal4 = 400000 * refr\n const ss = Math.min(w, h)\n const hc = w / 2,\n vc = h / 2\n const a3 = (adj3 < 0) ? 0 : (adj3 > cnstVal1) ? cnstVal1 : adj3\n const maxAdj1 = cnstVal2 - a3\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const w1 = hc - (w / 32)\n const maxAdj2 = cnstVal2 * w1 / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const x1 = ss * a2 / cnstVal2\n const x4 = w - x1\n const dy1 = h * a1 / cnstVal3\n const dy2 = h * a3 / -cnstVal3\n const ly1 = vc + dy2 - dy1\n const ry4 = vc + dy1 - dy2\n const ly2 = ly1 + dy1\n const ry3 = h - ly2\n const ly4 = ly2 * 2\n const ry2 = h - (ly4 - ly1)\n const hR = a3 * ss / cnstVal4\n const x2 = hc - (w / 32)\n const x3 = hc + (w / 32)\n const y1 = ly1 + hR\n const y2_arc = ry2 - hR\n pathData = `M 0,${ly2} L ${x1},0 L ${x1},${ly1} L ${hc},${ly1} ${shapeArc(hc, y1, w / 32, hR, 270, 450, false).replace('M', 'L')} ${shapeArc(hc, y2_arc, w / 32, hR, 270, 90, false).replace('M', 'L')} L ${x4},${ry2} L ${x4},${h - ly4} L ${w},${ry3} L ${x4},${h} L ${x4},${ry4} L ${hc},${ry4} ${shapeArc(hc, ry4 - hR, w / 32, hR, 90, 180, false).replace('M', 'L')} L ${x2},${ly4 - ly1} L ${x1},${ly4 - ly1} L ${x1},${ly4} z M ${x3},${y1} L ${x3},${ry2} M ${x2},${y2_arc} L ${x2},${ly4 - ly1}`\n }\n break\n case 'ribbon':\n case 'ribbon2':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 16667 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal2 = 33333 * RATIO_EMUs_Points\n const cnstVal3 = 75000 * RATIO_EMUs_Points\n const cnstVal4 = 100000 * RATIO_EMUs_Points\n const cnstVal5 = 200000 * RATIO_EMUs_Points\n const cnstVal6 = 400000 * RATIO_EMUs_Points\n const hc = w / 2,\n t = 0,\n l = 0,\n b = h,\n r = w,\n wd8 = w / 8,\n wd32 = w / 32\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1\n const a2 = (adj2 < cnstVal1) ? cnstVal1 : (adj2 > cnstVal3) ? cnstVal3 : adj2\n const x10 = r - wd8\n const dx2 = w * a2 / cnstVal5\n const x2 = hc - dx2\n const x9 = hc + dx2\n const x3 = x2 + wd32\n const x8 = x9 - wd32\n const x5 = x2 + wd8\n const x6 = x9 - wd8\n const x4 = x5 - wd32\n const x7 = x6 + wd32\n const hR = h * a1 / cnstVal6\n if (shapType === 'ribbon2') {\n const dy1 = h * a1 / cnstVal5\n const y1 = b - dy1\n const dy2 = h * a1 / cnstVal4\n const y2 = b - dy2\n const y4 = t + dy2\n const y3 = (y4 + b) / 2\n const y6 = b - hR\n const y7 = y1 - hR\n pathData = `M ${l},${b} L ${wd8},${y3} L ${l},${y4} L ${x2},${y4} L ${x2},${hR} ${shapeArc(x3, hR, wd32, hR, 180, 270, false).replace('M', 'L')} L ${x8},${t} ${shapeArc(x8, hR, wd32, hR, 270, 360, false).replace('M', 'L')} L ${x9},${y4} L ${r},${y4} L ${x10},${y3} L ${r},${b} L ${x7},${b} ${shapeArc(x7, y6, wd32, hR, 90, 270, false).replace('M', 'L')} L ${x8},${y1} ${shapeArc(x8, y7, wd32, hR, 90, -90, false).replace('M', 'L')} L ${x3},${y2} ${shapeArc(x3, y7, wd32, hR, 270, 90, false).replace('M', 'L')} L ${x4},${y1} ${shapeArc(x4, y6, wd32, hR, 270, 450, false).replace('M', 'L')} z M ${x5},${y2} L ${x5},${y6} M ${x6},${y6} L ${x6},${y2} M ${x2},${y7} L ${x2},${y4} M ${x9},${y4} L ${x9},${y7}`\n } \n else if (shapType === 'ribbon') {\n const y1 = h * a1 / cnstVal5\n const y2 = h * a1 / cnstVal4\n const y4 = b - y2\n const y3 = y4 / 2\n const y5 = b - hR\n const y6 = y2 - hR\n pathData = `M ${l},${t} L ${x4},${t} ${shapeArc(x4, hR, wd32, hR, 270, 450, false).replace('M', 'L')} L ${x3},${y1} ${shapeArc(x3, y6, wd32, hR, 270, 90, false).replace('M', 'L')} L ${x8},${y2} ${shapeArc(x8, y6, wd32, hR, 90, -90, false).replace('M', 'L')} L ${x7},${y1} ${shapeArc(x7, hR, wd32, hR, 90, 270, false).replace('M', 'L')} L ${r},${t} L ${x10},${y3} L ${r},${y4} L ${x9},${y4} L ${x9},${y5} ${shapeArc(x8, y5, wd32, hR, 0, 90, false).replace('M', 'L')} L ${x3},${b} ${shapeArc(x3, y5, wd32, hR, 90, 180, false).replace('M', 'L')} L ${x2},${y4} L ${l},${y4} L ${wd8},${y3} z M ${x5},${hR} L ${x5},${y2} M ${x6},${y2} L ${x6},${hR} M ${x2},${y4} L ${x2},${y6} M ${x9},${y6} L ${x9},${y4}`\n }\n }\n break\n case 'doubleWave':\n case 'wave':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = (shapType === 'doubleWave') ? 6250 * RATIO_EMUs_Points : 12500 * RATIO_EMUs_Points\n let adj2 = 0\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cnstVal2 = -10000 * RATIO_EMUs_Points\n const cnstVal3 = 50000 * RATIO_EMUs_Points\n const cnstVal4 = 100000 * RATIO_EMUs_Points\n const l = 0,\n b = h,\n r = w\n if (shapType === 'doubleWave') {\n const cnstVal1 = 12500 * RATIO_EMUs_Points\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const a2 = (adj2 < cnstVal2) ? cnstVal2 : (adj2 > cnstVal4) ? cnstVal4 : adj2\n const y1 = h * a1 / cnstVal4\n const dy2 = y1 * 10 / 3\n const y2 = y1 - dy2\n const y3 = y1 + dy2\n const y4 = b - y1\n const y5 = y4 - dy2\n const y6 = y4 + dy2\n const of2 = w * a2 / cnstVal3\n const dx2 = (of2 > 0) ? 0 : of2\n const x2 = l - dx2\n const dx8 = (of2 > 0) ? of2 : 0\n const x8 = r - dx8\n const dx3 = (dx2 + x8) / 6\n const x3 = x2 + dx3\n const dx4 = (dx2 + x8) / 3\n const x4 = x2 + dx4\n const x5 = (x2 + x8) / 2\n const x6 = x5 + dx3\n const x7 = (x6 + x8) / 2\n const x9 = l + dx8\n const x15 = r + dx2\n const x10 = x9 + dx3\n const x11 = x9 + dx4\n const x12 = (x9 + x15) / 2\n const x13 = x12 + dx3\n const x14 = (x13 + x15) / 2\n pathData = `M ${x2},${y1} C ${x3},${y2} ${x4},${y3} ${x5},${y1} C ${x6},${y2} ${x7},${y3} ${x8},${y1} L ${x15},${y4} C ${x14},${y6} ${x13},${y5} ${x12},${y4} C ${x11},${y6} ${x10},${y5} ${x9},${y4} z`\n } \n else if (shapType === 'wave') {\n const cnstVal5 = 20000 * RATIO_EMUs_Points\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal5) ? cnstVal5 : adj1\n const a2 = (adj2 < cnstVal2) ? cnstVal2 : (adj2 > cnstVal4) ? cnstVal4 : adj2\n const y1 = h * a1 / cnstVal4\n const dy2 = y1 * 10 / 3\n const y2 = y1 - dy2\n const y3 = y1 + dy2\n const y4 = b - y1\n const y5 = y4 - dy2\n const y6 = y4 + dy2\n const of2 = w * a2 / cnstVal3\n const dx2 = (of2 > 0) ? 0 : of2\n const x2 = l - dx2\n const dx5 = (of2 > 0) ? of2 : 0\n const x5 = r - dx5\n const dx3 = (dx2 + x5) / 3\n const x3 = x2 + dx3\n const x4 = (x3 + x5) / 2\n const x6 = l + dx5\n const x10 = r + dx2\n const x7 = x6 + dx3\n const x8 = (x7 + x10) / 2\n pathData = `M ${x2},${y1} C ${x3},${y2} ${x4},${y3} ${x5},${y1} L ${x10},${y4} C ${x8},${y6} ${x7},${y5} ${x6},${y4} z`\n }\n }\n break\n case 'ellipseRibbon':\n case 'ellipseRibbon2':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n let adj3 = 12500 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal3 = 75000 * RATIO_EMUs_Points\n const cnstVal4 = 100000 * RATIO_EMUs_Points\n const cnstVal5 = 200000 * RATIO_EMUs_Points\n const hc = w / 2,\n t = 0,\n l = 0,\n b = h,\n r = w,\n wd8 = w / 8\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal4) ? cnstVal4 : adj1\n const a2 = (adj2 < cnstVal1) ? cnstVal1 : (adj2 > cnstVal3) ? cnstVal3 : adj2\n const q10 = cnstVal4 - a1\n const minAdj3 = (a1 - (q10 / 2) > 0) ? a1 - (q10 / 2) : 0\n const a3 = (adj3 < minAdj3) ? minAdj3 : (adj3 > a1) ? a1 : adj3\n const dx2 = w * a2 / cnstVal5\n const x2 = hc - dx2\n const x3 = x2 + wd8\n const x4 = r - x3\n const x5 = r - x2\n const x6 = r - wd8\n const dy1 = h * a3 / cnstVal4\n const f1 = 4 * dy1 / w\n const q2 = x3 - (x3 * x3 / w)\n const cx1 = x3 / 2\n const cx2 = r - cx1\n const q1_h = h * a1 / cnstVal4\n const dy3 = q1_h - dy1\n const q4 = x2 - (x2 * x2 / w)\n const q5 = f1 * q4\n const rh = b - q1_h\n const q8 = dy1 * 14 / 16\n const cx4 = x2 / 2\n const q9 = f1 * cx4\n const cx5 = r - cx4\n if (shapType === 'ellipseRibbon') {\n const y1 = f1 * q2\n const cy1 = f1 * cx1\n const y3 = q5 + dy3\n const q6 = dy1 + dy3 - y3\n const cy3 = (q6 + dy1) + dy3\n const y2 = (q8 + rh) / 2\n const y5 = q5 + rh\n const y6 = y3 + rh\n const cy4 = q9 + rh\n const cy6 = cy3 + rh\n const y7 = y1 + dy3\n pathData = `M ${l},${t} Q ${cx1},${cy1} ${x3},${y1} L ${x2},${y3} Q ${hc},${cy3} ${x5},${y3} L ${x4},${y1} Q ${cx2},${cy1} ${r},${t} L ${x6},${y2} L ${r},${rh} Q ${cx5},${cy4} ${x5},${y5} L ${x5},${y6} Q ${hc},${cy6} ${x2},${y6} L ${x2},${y5} Q ${cx4},${cy4} ${l},${rh} L ${wd8},${y2} z M ${x2},${y5} L ${x2},${y3} M ${x5},${y3} L ${x5},${y5} M ${x3},${y1} L ${x3},${y7} M ${x4},${y7} L ${x4},${y1}`\n } \n else if (shapType === 'ellipseRibbon2') {\n const u1 = f1 * q2\n const y1 = b - u1\n const cu1 = f1 * cx1\n const cy1 = b - cu1\n const u3 = q5 + dy3\n const y3 = b - u3\n const q6 = dy1 + dy3 - u3\n const cu3 = (q6 + dy1) + dy3\n const cy3 = b - cu3\n const u2 = (q8 + rh) / 2\n const y2 = b - u2\n const u5 = q5 + rh\n const y5 = b - u5\n const u6 = u3 + rh\n const y6 = b - u6\n const cu4 = q9 + rh\n const cy4 = b - cu4\n const cu6 = cu3 + rh\n const cy6 = b - cu6\n const u7 = u1 + dy3\n const y7 = b - u7\n pathData = `M ${l},${b} L ${wd8},${y2} L ${l},${q1_h} Q ${cx4},${cy4} ${x2},${y5} L ${x2},${y6} Q ${hc},${cy6} ${x5},${y6} L ${x5},${y5} Q ${cx5},${cy4} ${r},${q1_h} L ${x6},${y2} L ${r},${b} Q ${cx2},${cy1} ${x4},${y1} L ${x5},${y3} Q ${hc},${cy3} ${x2},${y3} L ${x3},${y1} Q ${cx1},${cy1} ${l},${b} z M ${x2},${y3} L ${x2},${y5} M ${x5},${y5} L ${x5},${y3} M ${x3},${y7} L ${x3},${y1} M ${x4},${y1} L ${x4},${y7}`\n }\n }\n break\n case 'line':\n case 'straightConnector1':\n case 'bentConnector4':\n case 'bentConnector5':\n case 'curvedConnector2':\n case 'curvedConnector3':\n case 'curvedConnector4':\n case 'curvedConnector5':\n pathData = `M 0 0 L ${w} ${h}`\n break\n case 'rightArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.5\n if (shapAdjst_ary) {\n const max_sAdj2_const = w / h\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = 0.5 - (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000)\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = 1 - (sAdj2_val2 / max_sAdj2_const)\n }\n }\n }\n pathData = `M ${w} ${h / 2} L ${sAdj2_val * w} 0 L ${sAdj2_val * w} ${sAdj1_val * h} L 0 ${sAdj1_val * h} L 0 ${(1 - sAdj1_val) * h} L ${sAdj2_val * w} ${(1 - sAdj1_val) * h} L ${sAdj2_val * w} ${h} Z`\n }\n break\n case 'leftArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.5\n if (shapAdjst_ary) {\n const max_sAdj2_const = w / h\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = 0.5 - (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000)\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = sAdj2_val2 / max_sAdj2_const\n }\n }\n }\n pathData = `M 0 ${h / 2} L ${sAdj2_val * w} ${h} L ${sAdj2_val * w} ${(1 - sAdj1_val) * h} L ${w} ${(1 - sAdj1_val) * h} L ${w} ${sAdj1_val * h} L ${sAdj2_val * w} ${sAdj1_val * h} L ${sAdj2_val * w} 0 Z`\n }\n break\n case 'downArrow':\n case 'flowChartOffpageConnector':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.5\n if (shapAdjst_ary) {\n const max_sAdj2_const = h / w\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = sAdj2_val2 / max_sAdj2_const\n }\n }\n }\n if (shapType === 'flowChartOffpageConnector') {\n sAdj1_val = 0.5\n sAdj2_val = 0.212\n }\n pathData = `M ${(0.5 - sAdj1_val) * w} 0 L ${(0.5 - sAdj1_val) * w} ${(1 - sAdj2_val) * h} L 0 ${(1 - sAdj2_val) * h} L ${w / 2} ${h} L ${w} ${(1 - sAdj2_val) * h} L ${(0.5 + sAdj1_val) * w} ${(1 - sAdj2_val) * h} L ${(0.5 + sAdj1_val) * w} 0 Z`\n }\n break\n case 'upArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.5\n if (shapAdjst_ary) {\n const max_sAdj2_const = h / w\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = sAdj2_val2 / max_sAdj2_const\n }\n }\n }\n pathData = `M ${w / 2} 0 L 0 ${sAdj2_val * h} L ${(0.5 - sAdj1_val) * w} ${sAdj2_val * h} L ${(0.5 - sAdj1_val) * w} ${h} L ${(0.5 + sAdj1_val) * w} ${h} L ${(0.5 + sAdj1_val) * w} ${sAdj2_val * h} L ${w} ${sAdj2_val * h} Z`\n }\n break\n case 'leftRightArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.25\n if (shapAdjst_ary) {\n const max_sAdj2_const = w / h\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = 0.5 - (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000)\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = sAdj2_val2 / max_sAdj2_const\n }\n }\n }\n pathData = `M 0 ${h / 2} L ${sAdj2_val * w} ${h} L ${sAdj2_val * w} ${(1 - sAdj1_val) * h} L ${(1 - sAdj2_val) * w} ${(1 - sAdj1_val) * h} L ${(1 - sAdj2_val) * w} ${h} L ${w} ${h / 2} L ${(1 - sAdj2_val) * w} 0 L ${(1 - sAdj2_val) * w} ${sAdj1_val * h} L ${sAdj2_val * w} ${sAdj1_val * h} L ${sAdj2_val * w} 0 Z`\n }\n break\n case 'upDownArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let sAdj1_val = 0.25\n let sAdj2_val = 0.25\n if (shapAdjst_ary) {\n const max_sAdj2_const = h / w\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n sAdj1_val = 0.5 - (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 200000)\n } \n else if (sAdj_name === 'adj2') {\n const sAdj2_val2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 100000\n sAdj2_val = sAdj2_val2 / max_sAdj2_const\n }\n }\n }\n pathData = `M ${w / 2} 0 L 0 ${sAdj2_val * h} L ${sAdj1_val * w} ${sAdj2_val * h} L ${sAdj1_val * w} ${(1 - sAdj2_val) * h} L 0 ${(1 - sAdj2_val) * h} L ${w / 2} ${h} L ${w} ${(1 - sAdj2_val) * h} L ${(1 - sAdj1_val) * w} ${(1 - sAdj2_val) * h} L ${(1 - sAdj1_val) * w} ${sAdj2_val * h} L ${w} ${sAdj2_val * h} Z`\n }\n break\n case 'quadArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 22500 * RATIO_EMUs_Points\n let adj2 = 22500 * RATIO_EMUs_Points\n let adj3 = 22500 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n hc = w / 2\n const minWH = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = 2 * a2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const q1 = cnstVal2 - maxAdj1\n const maxAdj3 = q1 / 2\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const x1 = minWH * a3 / cnstVal2\n const dx2 = minWH * a2 / cnstVal2\n const x2 = hc - dx2\n const x5 = hc + dx2\n const dx3 = minWH * a1 / cnstVal3\n const x3 = hc - dx3\n const x4 = hc + dx3\n const x6 = w - x1\n const y2 = vc - dx2\n const y5 = vc + dx2\n const y3 = vc - dx3\n const y4 = vc + dx3\n const y6 = h - x1\n pathData = `M 0,${vc} L ${x1},${y2} L ${x1},${y3} L ${x3},${y3} L ${x3},${x1} L ${x2},${x1} L ${hc},0 L ${x5},${x1} L ${x4},${x1} L ${x4},${y3} L ${x6},${y3} L ${x6},${y2} L ${w},${vc} L ${x6},${y5} L ${x6},${y4} L ${x4},${y4} L ${x4},${y6} L ${x5},${y6} L ${hc},${h} L ${x2},${y6} L ${x3},${y6} L ${x3},${y4} L ${x1},${y4} L ${x1},${y5} z`\n }\n break\n case 'leftRightUpArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hc = w / 2\n const minWH = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = 2 * a2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const q1 = cnstVal2 - maxAdj1\n const maxAdj3 = q1 / 2\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const x1 = minWH * a3 / cnstVal2\n const dx2 = minWH * a2 / cnstVal2\n const x2 = hc - dx2\n const x5 = hc + dx2\n const dx3 = minWH * a1 / cnstVal3\n const x3 = hc - dx3\n const x4 = hc + dx3\n const x6 = w - x1\n const dy2 = minWH * a2 / cnstVal1\n const y2 = h - dy2\n const y4 = h - dx2\n const y3 = y4 - dx3\n const y5 = y4 + dx3\n pathData = `M 0,${y4} L ${x1},${y2} L ${x1},${y3} L ${x3},${y3} L ${x3},${x1} L ${x2},${x1} L ${hc},0 L ${x5},${x1} L ${x4},${x1} L ${x4},${y3} L ${x6},${y3} L ${x6},${y2} L ${w},${y4} L ${x6},${h} L ${x6},${y5} L ${x1},${y5} L ${x1},${h} z`\n }\n break\n case 'leftUpArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = 2 * a2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal2 - maxAdj1\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const x1 = minWH * a3 / cnstVal2\n const dx2 = minWH * a2 / cnstVal1\n const x2 = w - dx2\n const y2 = h - dx2\n const dx4 = minWH * a2 / cnstVal2\n const x4 = w - dx4\n const y4 = h - dx4\n const dx3 = minWH * a1 / cnstVal3\n const x3 = x4 - dx3\n const x5 = x4 + dx3\n const y3 = y4 - dx3\n const y5 = y4 + dx3\n pathData = `M 0,${y4} L ${x1},${y2} L ${x1},${y3} L ${x3},${y3} L ${x3},${x1} L ${x2},${x1} L ${x4},0 L ${w},${x1} L ${x5},${x1} L ${x5},${y5} L ${x1},${y5} L ${x1},${h} z`\n }\n break\n case 'bentUpArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const a3 = (adj3 < 0) ? 0 : (adj3 > cnstVal1) ? cnstVal1 : adj3\n const y1 = minWH * a3 / cnstVal2\n const dx1 = minWH * a2 / cnstVal1\n const x1 = w - dx1\n const dx3 = minWH * a2 / cnstVal2\n const x3 = w - dx3\n const dx2 = minWH * a1 / cnstVal3\n const x2 = x3 - dx2\n const x4 = x3 + dx2\n const dy2 = minWH * a1 / cnstVal2\n const y2 = h - dy2\n pathData = `M 0,${y2} L ${x2},${y2} L ${x2},${y1} L ${x1},${y1} L ${x3},0 L ${w},${y1} L ${x4},${y1} L ${x4},${h} L 0,${h} z`\n }\n break\n case 'bentArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 43750 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = 2 * a2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const a3 = (adj3 < 0) ? 0 : (adj3 > cnstVal1) ? cnstVal1 : adj3\n const th = minWH * a1 / cnstVal2\n const aw2 = minWH * a2 / cnstVal2\n const th2 = th / 2\n const dh2 = aw2 - th2\n const ah = minWH * a3 / cnstVal2\n const bw = w - ah\n const bh = h - dh2\n const bs = (bw < bh) ? bw : bh\n const maxAdj4 = cnstVal2 * bs / minWH\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const bd = minWH * a4 / cnstVal2\n const bd3 = bd - th\n const bd2 = (bd3 > 0) ? bd3 : 0\n const x3 = th + bd2\n const x4 = w - ah\n const y3 = dh2 + th\n const y4 = y3 + dh2\n const y5 = dh2 + bd\n const y6 = y3 + bd2\n pathData = `M 0,${h} L 0,${y5} ${shapeArc(bd, y5, bd, bd, 180, 270, false).replace('M', 'L')} L ${x4},${dh2} L ${x4},0 L ${w},${aw2} L ${x4},${y4} L ${x4},${y3} L ${x3},${y3} ${shapeArc(x3, y6, bd2, bd2, 270, 180, false).replace('M', 'L')} L ${th},${h} z`\n }\n break\n case 'uturnArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 43750 * RATIO_EMUs_Points\n let adj5 = 75000 * RATIO_EMUs_Points\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj5') {\n adj5 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const minWH = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = 2 * a2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const q2 = a1 * minWH / h\n const q3 = cnstVal2 - q2\n const maxAdj3 = q3 * h / minWH\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q1 = a3 + a1\n const minAdj5 = q1 * minWH / h\n const a5 = (adj5 < minAdj5) ? minAdj5 : (adj5 > cnstVal2) ? cnstVal2 : adj5\n const th = minWH * a1 / cnstVal2\n const aw2 = minWH * a2 / cnstVal2\n const th2 = th / 2\n const dh2 = aw2 - th2\n const y5 = h * a5 / cnstVal2\n const ah = minWH * a3 / cnstVal2\n const y4 = y5 - ah\n const x9 = w - dh2\n const bw = x9 / 2\n const bs = (bw < y4) ? bw : y4\n const maxAdj4 = cnstVal2 * bs / minWH\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const bd = minWH * a4 / cnstVal2\n const bd3 = bd - th\n const bd2 = (bd3 > 0) ? bd3 : 0\n const x3 = th + bd2\n const x8 = w - aw2\n const x6 = x8 - aw2\n const x7 = x6 + dh2\n const x4 = x9 - bd\n const x5 = x7 - bd2\n pathData = `M 0,${h} L 0,${bd} ${shapeArc(bd, bd, bd, bd, 180, 270, false).replace('M', 'L')} L ${x4},0 ${shapeArc(x4, bd, bd, bd, 270, 360, false).replace('M', 'L')} L ${x9},${y4} L ${w},${y4} L ${x8},${y5} L ${x6},${y4} L ${x7},${y4} L ${x7},${x3} ${shapeArc(x5, x3, bd2, bd2, 0, -90, false).replace('M', 'L')} L ${x3},${th} ${shapeArc(x3, x3, bd2, bd2, 270, 180, false).replace('M', 'L')} L ${th},${h} z`\n }\n break\n case 'stripedRightArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 50000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const cnstVal2 = 200000 * RATIO_EMUs_Points\n const cnstVal3 = 84375 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2\n const minWH = Math.min(w, h)\n const maxAdj2 = cnstVal3 * w / minWH\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const x4 = minWH * 5 / 32\n const dx5 = minWH * a2 / cnstVal1\n const x5 = w - dx5\n const dy1 = h * a1 / cnstVal2\n const y1 = vc - dy1\n const y2 = vc + dy1\n const ssd8 = minWH / 8,\n ssd16 = minWH / 16,\n ssd32 = minWH / 32\n pathData = `M 0,${y1} L ${ssd32},${y1} L ${ssd32},${y2} L 0,${y2} z M ${ssd16},${y1} L ${ssd8},${y1} L ${ssd8},${y2} L ${ssd16},${y2} z M ${x4},${y1} L ${x5},${y1} L ${x5},0 L ${w},${vc} L ${x5},${h} L ${x5},${y2} L ${x4},${y2} z`\n }\n break\n case 'notchedRightArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 50000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n const cnstVal2 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n hd2 = vc\n const minWH = Math.min(w, h)\n const maxAdj2 = cnstVal1 * w / minWH\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const dx2 = minWH * a2 / cnstVal1\n const x2 = w - dx2\n const dy1 = h * a1 / cnstVal2\n const y1 = vc - dy1\n const y2 = vc + dy1\n const x1 = dy1 * dx2 / hd2\n pathData = `M 0,${y1} L ${x2},${y1} L ${x2},0 L ${w},${vc} L ${x2},${h} L ${x2},${y2} L 0,${y2} L ${x1},${vc} z`\n }\n break\n case 'homePlate':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const vc = h / 2\n const minWH = Math.min(w, h)\n const maxAdj = cnstVal1 * w / minWH\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const dx1 = minWH * a / cnstVal1\n const x1 = w - dx1\n pathData = `M 0,0 L ${x1},0 L ${w},${vc} L ${x1},${h} L 0,${h} z`\n }\n break\n case 'chevron':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 50000 * RATIO_EMUs_Points\n const cnstVal1 = 100000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n const vc = h / 2\n const minWH = Math.min(w, h)\n const maxAdj = cnstVal1 * w / minWH\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const x1 = minWH * a / cnstVal1\n const x2 = w - x1\n pathData = `M 0,0 L ${x2},0 L ${w},${vc} L ${x2},${h} L 0,${h} L ${x1},${vc} z`\n }\n break\n case 'rightArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 64977 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * h / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal2 * w / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * ss / w\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dy1 = ss * a2 / cnstVal2\n const dy2 = ss * a1 / cnstVal3\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y4 = vc + dy1\n const dx3 = ss * a3 / cnstVal2\n const x3 = r - dx3\n const x2 = w * a4 / cnstVal2\n pathData = `M ${l},${t} L ${x2},${t} L ${x2},${y2} L ${x3},${y2} L ${x3},${y1} L ${r},${vc} L ${x3},${y4} L ${x3},${y3} L ${x2},${y3} L ${x2},${b} L ${l},${b} z`\n }\n break\n case 'downArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 64977 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hc = w / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * w / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal2 * h / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * ss / h\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dx1 = ss * a2 / cnstVal2\n const dx2 = ss * a1 / cnstVal3\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc + dx2\n const x4 = hc + dx1\n const dy3 = ss * a3 / cnstVal2\n const y3 = b - dy3\n const y2 = h * a4 / cnstVal2\n pathData = `M ${l},${t} L ${r},${t} L ${r},${y2} L ${x3},${y2} L ${x3},${y3} L ${x4},${y3} L ${hc},${b} L ${x1},${y3} L ${x2},${y3} L ${x2},${y2} L ${l},${y2} z`\n }\n break\n case 'leftArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 64977 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * h / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal2 * w / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * ss / w\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dy1 = ss * a2 / cnstVal2\n const dy2 = ss * a1 / cnstVal3\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y4 = vc + dy1\n const x1 = ss * a3 / cnstVal2\n const dx2 = w * a4 / cnstVal2\n const x2 = r - dx2\n pathData = `M ${l},${vc} L ${x1},${y1} L ${x1},${y2} L ${x2},${y2} L ${x2},${t} L ${r},${t} L ${r},${b} L ${x2},${b} L ${x2},${y3} L ${x1},${y3} L ${x1},${y4} z`\n }\n break\n case 'upArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 64977 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hc = w / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * w / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal2 * h / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * ss / h\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dx1 = ss * a2 / cnstVal2\n const dx2 = ss * a1 / cnstVal3\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc + dx2\n const x4 = hc + dx1\n const y1 = ss * a3 / cnstVal2\n const dy2 = h * a4 / cnstVal2\n const y2 = b - dy2\n pathData = `M ${l},${y2} L ${x2},${y2} L ${x2},${y1} L ${x1},${y1} L ${hc},${t} L ${x4},${y1} L ${x3},${y1} L ${x3},${y2} L ${r},${y2} L ${r},${b} L ${l},${b} z`\n }\n break\n case 'leftRightArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 25000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n let adj4 = 48123 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n hc = w / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * h / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal1 * w / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * ss / (w / 2)\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < 0) ? 0 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dy1 = ss * a2 / cnstVal2\n const dy2 = ss * a1 / cnstVal3\n const y1 = vc - dy1\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y4 = vc + dy1\n const x1 = ss * a3 / cnstVal2\n const x4 = r - x1\n const dx2 = w * a4 / cnstVal3\n const x2 = hc - dx2\n const x3 = hc + dx2\n pathData = `M ${l},${vc} L ${x1},${y1} L ${x1},${y2} L ${x2},${y2} L ${x2},${t} L ${x3},${t} L ${x3},${y2} L ${x4},${y2} L ${x4},${y1} L ${r},${vc} L ${x4},${y4} L ${x4},${y3} L ${x3},${y3} L ${x3},${b} L ${x2},${b} L ${x2},${y3} L ${x1},${y3} L ${x1},${y4} z`\n }\n break\n case 'quadArrowCallout':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 18515 * RATIO_EMUs_Points\n let adj2 = 18515 * RATIO_EMUs_Points\n let adj3 = 18515 * RATIO_EMUs_Points\n let adj4 = 48123 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj4') {\n adj4 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const vc = h / 2,\n hc = w / 2,\n r = w,\n b = h,\n l = 0,\n t = 0\n const ss = Math.min(w, h)\n const a2 = (adj2 < 0) ? 0 : (adj2 > cnstVal1) ? cnstVal1 : adj2\n const maxAdj1 = a2 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const maxAdj3 = cnstVal1 - a2\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const q2 = a3 * 2\n const maxAdj4 = cnstVal2 - q2\n const a4 = (adj4 < a1) ? a1 : (adj4 > maxAdj4) ? maxAdj4 : adj4\n const dx2 = ss * a2 / cnstVal2\n const dx3 = ss * a1 / cnstVal3\n const ah = ss * a3 / cnstVal2\n const dx1 = w * a4 / cnstVal3\n const dy1 = h * a4 / cnstVal3\n const x8 = r - ah\n const x2 = hc - dx1\n const x7 = hc + dx1\n const x3 = hc - dx2\n const x6 = hc + dx2\n const x4 = hc - dx3\n const x5 = hc + dx3\n const y8 = b - ah\n const y2 = vc - dy1\n const y7 = vc + dy1\n const y3 = vc - dx2\n const y6 = vc + dx2\n const y4 = vc - dx3\n const y5 = vc + dx3\n pathData = `M ${l},${vc} L ${ah},${y3} L ${ah},${y4} L ${x2},${y4} L ${x2},${y2} L ${x4},${y2} L ${x4},${ah} L ${x3},${ah} L ${hc},${t} L ${x6},${ah} L ${x5},${ah} L ${x5},${y2} L ${x7},${y2} L ${x7},${y4} L ${x8},${y4} L ${x8},${y3} L ${r},${vc} L ${x8},${y6} L ${x8},${y5} L ${x7},${y5} L ${x7},${y7} L ${x5},${y7} L ${x5},${y8} L ${x6},${y8} L ${hc},${b} L ${x3},${y8} L ${x4},${y8} L ${x4},${y7} L ${x2},${y7} L ${x2},${y5} L ${ah},${y5} L ${ah},${y6} z`\n }\n break\n case 'curvedDownArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const wd2 = w / 2,\n r = w,\n b = h,\n t = 0,\n c3d4 = 270,\n cd2 = 180,\n cd4 = 90\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * w / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1\n const th = ss * a1 / cnstVal2\n const aw = ss * a2 / cnstVal2\n const q1 = (th + aw) / 4\n const wR = wd2 - q1\n const q7 = wR * 2\n const q11 = Math.sqrt(q7 * q7 - th * th)\n const idy = q11 * h / q7\n const maxAdj3 = cnstVal2 * idy / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const ah = ss * a3 / cnstVal2\n const x3 = wR + th\n const q5 = Math.sqrt(h * h - ah * ah)\n const dx = q5 * wR / h\n const x5 = wR + dx\n const x7 = x3 + dx\n const dh = (aw - th) / 2\n const x4 = x5 - dh\n const x8 = x7 + dh\n const x6 = r - (aw / 2)\n const y1 = b - ah\n const swAng = Math.atan(dx / ah)\n const swAngDeg = swAng * 180 / Math.PI\n const mswAng = -swAngDeg\n const dang2 = Math.atan((th / 2) / idy)\n const dang2Deg = dang2 * 180 / Math.PI\n const stAng = c3d4 + swAngDeg\n const stAng2 = c3d4 - dang2Deg\n const swAng2 = dang2Deg - cd4\n const swAng3 = cd4 + dang2Deg\n pathData = `M ${x6},${b} L ${x4},${y1} L ${x5},${y1} ${shapeArc(wR, h, wR, h, stAng, (stAng + mswAng), false).replace('M', 'L')} L ${x3},${t} ${shapeArc(x3, h, wR, h, c3d4, (c3d4 + swAngDeg), false).replace('M', 'L')} L ${x5 + th},${y1} L ${x8},${y1} z M ${x3},${t} ${shapeArc(x3, h, wR, h, stAng2, (stAng2 + swAng2), false).replace('M', 'L')} ${shapeArc(wR, h, wR, h, cd2, (cd2 + swAng3), false).replace('M', 'L')}`\n }\n break\n case 'curvedLeftArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hd2 = h / 2,\n r = w,\n b = h,\n l = 0,\n t = 0,\n c3d4 = 270,\n cd4 = 90\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * h / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const a1 = (adj1 < 0) ? 0 : (adj1 > a2) ? a2 : adj1\n const th = ss * a1 / cnstVal2\n const aw = ss * a2 / cnstVal2\n const q1 = (th + aw) / 4\n const hR = hd2 - q1\n const q7 = hR * 2\n const q11 = Math.sqrt(q7 * q7 - th * th)\n const iDx = q11 * w / q7\n const maxAdj3 = cnstVal2 * iDx / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const ah = ss * a3 / cnstVal2\n const y3 = hR + th\n const q5 = Math.sqrt(w * w - ah * ah)\n const dy = q5 * hR / w\n const y5 = hR + dy\n const y7 = y3 + dy\n const dh = (aw - th) / 2\n const y4 = y5 - dh\n const y8 = y7 + dh\n const y6 = b - (aw / 2)\n const x1 = l + ah\n const swAng = Math.atan(dy / ah)\n const dang2 = Math.atan((th / 2) / iDx)\n const swAng2 = dang2 - swAng\n const swAngDg = swAng * 180 / Math.PI\n const swAng2Dg = swAng2 * 180 / Math.PI\n pathData = `M ${r},${y3} ${shapeArc(l, hR, w, hR, 0, -cd4, false).replace('M', 'L')} L ${l},${t} ${shapeArc(l, y3, w, hR, c3d4, (c3d4 + cd4), false).replace('M', 'L')} L ${r},${y3} ${shapeArc(l, y3, w, hR, 0, swAngDg, false).replace('M', 'L')} L ${x1},${y7} L ${x1},${y8} L ${l},${y6} L ${x1},${y4} L ${x1},${y5} ${shapeArc(l, hR, w, hR, swAngDg, (swAngDg + swAng2Dg), false).replace('M', 'L')} ${shapeArc(l, hR, w, hR, 0, -cd4, false).replace('M', 'L')} ${shapeArc(l, y3, w, hR, c3d4, (c3d4 + cd4), false).replace('M', 'L')}`\n }\n break\n case 'curvedRightArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hd2 = h / 2,\n r = w,\n b = h,\n l = 0,\n cd2 = 180,\n cd4 = 90,\n c3d4 = 270\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * h / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const a1 = (adj1 < 0) ? 0 : (adj1 > a2) ? a2 : adj1\n const th = ss * a1 / cnstVal2\n const aw = ss * a2 / cnstVal2\n const q1 = (th + aw) / 4\n const hR = hd2 - q1\n const q7 = hR * 2\n const q11 = Math.sqrt(q7 * q7 - th * th)\n const iDx = q11 * w / q7\n const maxAdj3 = cnstVal2 * iDx / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const ah = ss * a3 / cnstVal2\n const y3 = hR + th\n const q5 = Math.sqrt(w * w - ah * ah)\n const dy = q5 * hR / w\n const y5 = hR + dy\n const y7 = y3 + dy\n const dh = (aw - th) / 2\n const y4 = y5 - dh\n const y8 = y7 + dh\n const y6 = b - (aw / 2)\n const x1 = r - ah\n const swAng = Math.atan(dy / ah)\n const stAng = Math.PI - swAng\n const mswAng = -swAng\n const dang2 = Math.atan((th / 2) / iDx)\n const swAng2 = dang2 - Math.PI / 2\n const stAngDg = stAng * 180 / Math.PI\n const mswAngDg = mswAng * 180 / Math.PI\n const swAngDg = swAng * 180 / Math.PI\n const swAng2dg = swAng2 * 180 / Math.PI\n pathData = `M ${l},${hR} ${shapeArc(w, hR, w, hR, cd2, cd2 + mswAngDg, false).replace('M', 'L')} L ${x1},${y5} L ${x1},${y4} L ${r},${y6} L ${x1},${y8} L ${x1},${y7} ${shapeArc(w, y3, w, hR, stAngDg, stAngDg + swAngDg, false).replace('M', 'L')} L ${l},${hR} ${shapeArc(w, hR, w, hR, cd2, cd2 + cd4, false).replace('M', 'L')} L ${r},${th} ${shapeArc(w, y3, w, hR, c3d4, c3d4 + swAng2dg, false).replace('M', 'L')}`\n }\n break\n case 'curvedUpArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 25000 * RATIO_EMUs_Points\n let adj2 = 50000 * RATIO_EMUs_Points\n let adj3 = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const wd2 = w / 2,\n r = w,\n b = h,\n t = 0,\n cd2 = 180,\n cd4 = 90\n const ss = Math.min(w, h)\n const maxAdj2 = cnstVal1 * w / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1\n const th = ss * a1 / cnstVal2\n const aw = ss * a2 / cnstVal2\n const q1 = (th + aw) / 4\n const wR = wd2 - q1\n const q7 = wR * 2\n const q11 = Math.sqrt(q7 * q7 - th * th)\n const idy = q11 * h / q7\n const maxAdj3 = cnstVal2 * idy / ss\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const ah = ss * a3 / cnstVal2\n const x3 = wR + th\n const q5 = Math.sqrt(h * h - ah * ah)\n const dx = q5 * wR / h\n const x5 = wR + dx\n const x7 = x3 + dx\n const dh = (aw - th) / 2\n const x4 = x5 - dh\n const x8 = x7 + dh\n const x6 = r - (aw / 2)\n const y1 = t + ah\n const swAng = Math.atan(dx / ah)\n const dang2 = Math.atan((th / 2) / idy)\n const swAng2 = dang2 - swAng\n const stAng3 = Math.PI / 2 - swAng\n const stAng2 = Math.PI / 2 - dang2\n const stAng2dg = stAng2 * 180 / Math.PI\n const swAng2dg = swAng2 * 180 / Math.PI\n const stAng3dg = stAng3 * 180 / Math.PI\n const swAngDg = swAng * 180 / Math.PI\n pathData = `${shapeArc(wR, 0, wR, h, stAng2dg, stAng2dg + swAng2dg, false)} L ${x5},${y1} L ${x4},${y1} L ${x6},${t} L ${x8},${y1} L ${x7},${y1} ${shapeArc(x3, 0, wR, h, stAng3dg, stAng3dg + swAngDg, false).replace('M', 'L')} L ${wR},${b} ${shapeArc(wR, 0, wR, h, cd4, cd2, false).replace('M', 'L')} L ${th},${t} ${shapeArc(x3, 0, wR, h, cd2, cd4, false).replace('M', 'L')}`\n }\n break\n case 'mathDivide':\n case 'mathEqual':\n case 'mathMinus':\n case 'mathMultiply':\n case 'mathNotEqual':\n case 'mathPlus':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1, adj2, adj3\n if (shapAdjst_ary) {\n if (Array.isArray(shapAdjst_ary)) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4))\n }\n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4))\n }\n else if (sAdj_name === 'adj3') {\n adj3 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4))\n }\n }\n } \n else {\n adj1 = parseInt(getTextByPathList(shapAdjst_ary, ['attrs', 'fmla']).substring(4))\n }\n }\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const cnstVal3 = 200000 * RATIO_EMUs_Points\n const hc = w / 2,\n vc = h / 2,\n hd2 = h / 2\n if (shapType === 'mathNotEqual') {\n if (adj1 === undefined) adj1 = 23520\n if (adj2 === undefined) adj2 = 110 * 60000\n if (adj3 === undefined) adj3 = 11760\n adj1 *= RATIO_EMUs_Points\n adj2 = (adj2 / 60000) * Math.PI / 180\n adj3 *= RATIO_EMUs_Points\n const angVal1 = 70 * Math.PI / 180,\n angVal2 = 110 * Math.PI / 180\n const cnstVal4 = 73490 * RATIO_EMUs_Points\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal1) ? cnstVal1 : adj1\n const crAng = (adj2 < angVal1) ? angVal1 : (adj2 > angVal2) ? angVal2 : adj2\n const maxAdj3 = cnstVal2 - (a1 * 2)\n const a3 = (adj3 < 0) ? 0 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const dy1 = h * a1 / cnstVal2\n const dy2 = h * a3 / cnstVal3\n const dx1 = w * cnstVal4 / cnstVal3\n const x1 = hc - dx1\n const x8 = hc + dx1\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y1 = y2 - dy1\n const y4 = y3 + dy1\n const cadj2 = crAng - Math.PI / 2\n const xadj2 = hd2 * Math.tan(cadj2)\n const len = Math.sqrt(xadj2 * xadj2 + hd2 * hd2)\n const bhw = len * dy1 / hd2\n const bhw2 = bhw / 2\n const x7 = hc + xadj2 - bhw2\n const dx67 = xadj2 * y1 / hd2\n const x6 = x7 - dx67\n const dx57 = xadj2 * y2 / hd2\n const x5 = x7 - dx57\n const dx47 = xadj2 * y3 / hd2\n const x4 = x7 - dx47\n const dx37 = xadj2 * y4 / hd2\n const x3 = x7 - dx37\n const rx6 = x6 + bhw\n const rx5 = x5 + bhw\n const rx4 = x4 + bhw\n const rx3 = x3 + bhw\n const dx7 = dy1 * hd2 / len\n const rxt = x7 + dx7\n const lxt = (x7 + bhw) - dx7\n const rx = (cadj2 > 0) ? rxt : (x7 + bhw)\n const lx = (cadj2 > 0) ? x7 : lxt\n const dy3 = dy1 * xadj2 / len\n const ry = (cadj2 > 0) ? dy3 : 0\n const ly = (cadj2 > 0) ? 0 : -dy3\n const dlx = w - rx\n const drx = w - lx\n const dly = h - ry\n const dry = h - ly\n pathData = `M ${x1},${y1} L ${x6},${y1} L ${lx},${ly} L ${rx},${ry} L ${rx6},${y1} L ${x8},${y1} L ${x8},${y2} L ${rx5},${y2} L ${rx4},${y3} L ${x8},${y3} L ${x8},${y4} L ${rx3},${y4} L ${drx},${dry} L ${dlx},${dly} L ${x3},${y4} L ${x1},${y4} L ${x1},${y3} L ${x4},${y3} L ${x5},${y2} L ${x1},${y2} z`\n } \n else if (shapType === 'mathDivide') {\n if (adj1 === undefined) adj1 = 23520\n if (adj2 === undefined) adj2 = 5880\n if (adj3 === undefined) adj3 = 11760\n adj1 *= RATIO_EMUs_Points\n adj2 *= RATIO_EMUs_Points\n adj3 *= RATIO_EMUs_Points\n const cnstVal4 = 1000 * RATIO_EMUs_Points\n const cnstVal5 = 36745 * RATIO_EMUs_Points\n const cnstVal6 = 73490 * RATIO_EMUs_Points\n const a1 = (adj1 < cnstVal4) ? cnstVal4 : (adj1 > cnstVal5) ? cnstVal5 : adj1\n const ma3h = (cnstVal6 - a1) / 4\n const ma3w = cnstVal5 * w / h\n const maxAdj3 = (ma3h < ma3w) ? ma3h : ma3w\n const a3 = (adj3 < cnstVal4) ? cnstVal4 : (adj3 > maxAdj3) ? maxAdj3 : adj3\n const maxAdj2 = cnstVal6 - (4 * a3) - a1\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const dy1 = h * a1 / cnstVal3\n const yg = h * a2 / cnstVal2\n const rad = h * a3 / cnstVal2\n const dx1 = w * cnstVal6 / cnstVal3\n const y3 = vc - dy1\n const y4 = vc + dy1\n const y2 = y3 - (yg + rad)\n const y1 = y2 - rad\n const y5 = h - y1\n const x1 = hc - dx1\n const x3 = hc + dx1\n pathData = `M ${hc},${y1} A ${rad},${rad} 0 1,0 ${hc},${y1 + 2 * rad} A ${rad},${rad} 0 1,0 ${hc},${y1} z M ${hc},${y5} A ${rad},${rad} 0 1,1 ${hc},${y5 - 2 * rad} A ${rad},${rad} 0 1,1 ${hc},${y5} z M ${x1},${y3} L ${x3},${y3} L ${x3},${y4} L ${x1},${y4} z`\n } \n else if (shapType === 'mathEqual') {\n if (adj1 === undefined) adj1 = 23520\n if (adj2 === undefined) adj2 = 11760\n adj1 *= RATIO_EMUs_Points\n adj2 *= RATIO_EMUs_Points\n const cnstVal5 = 36745 * RATIO_EMUs_Points\n const cnstVal6 = 73490 * RATIO_EMUs_Points\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal5) ? cnstVal5 : adj1\n const mAdj2 = cnstVal2 - (a1 * 2)\n const a2 = (adj2 < 0) ? 0 : (adj2 > mAdj2) ? mAdj2 : adj2\n const dy1 = h * a1 / cnstVal2\n const dy2 = h * a2 / cnstVal3\n const dx1 = w * cnstVal6 / cnstVal3\n const y2 = vc - dy2\n const y3 = vc + dy2\n const y1 = y2 - dy1\n const y4 = y3 + dy1\n const x1 = hc - dx1\n const x2 = hc + dx1\n pathData = `M ${x1},${y1} L ${x2},${y1} L ${x2},${y2} L ${x1},${y2} z M ${x1},${y3} L ${x2},${y3} L ${x2},${y4} L ${x1},${y4} z`\n } \n else if (shapType === 'mathMinus') {\n if (adj1 === undefined) adj1 = 23520\n adj1 *= RATIO_EMUs_Points\n const cnstVal6 = 73490 * RATIO_EMUs_Points\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal2) ? cnstVal2 : adj1\n const dy1 = h * a1 / cnstVal3\n const dx1 = w * cnstVal6 / cnstVal3\n const y1 = vc - dy1\n const y2 = vc + dy1\n const x1 = hc - dx1\n const x2 = hc + dx1\n pathData = `M ${x1},${y1} L ${x2},${y1} L ${x2},${y2} L ${x1},${y2} z`\n } \n else if (shapType === 'mathMultiply') {\n if (adj1 === undefined) adj1 = 23520\n adj1 *= RATIO_EMUs_Points\n const cnstVal6 = 51965 * RATIO_EMUs_Points\n const ss = Math.min(w, h)\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal6) ? cnstVal6 : adj1\n const th = ss * a1 / cnstVal2\n const a = Math.atan(h / w)\n const sa = Math.sin(a)\n const ca = Math.cos(a)\n const ta = Math.tan(a)\n const dl = Math.sqrt(w * w + h * h)\n const lM = dl - (dl * cnstVal6 / cnstVal2)\n const xM = ca * lM / 2\n const yM = sa * lM / 2\n const dxAM = sa * th / 2\n const dyAM = ca * th / 2\n const xA = xM - dxAM\n const yA = yM + dyAM\n const xB = xM + dxAM\n const yB = yM - dyAM\n const yC = (hc - xB) * ta + yB\n const xD = w - xB\n const xE = w - xA\n const xF = xE - ((vc - yA) / ta)\n const xL = xA + ((vc - yA) / ta)\n const yG = h - yA\n const yH = h - yB\n const yI = h - yC\n pathData = `M ${xA},${yA} L ${xB},${yB} L ${hc},${yC} L ${xD},${yB} L ${xE},${yA} L ${xF},${vc} L ${xE},${yG} L ${xD},${yH} L ${hc},${yI} L ${xB},${yH} L ${xA},${yG} L ${xL},${vc} z`\n } \n else if (shapType === 'mathPlus') {\n if (adj1 === undefined) adj1 = 23520\n adj1 *= RATIO_EMUs_Points\n const cnstVal6 = 73490 * RATIO_EMUs_Points\n const ss = Math.min(w, h)\n const a1 = (adj1 < 0) ? 0 : (adj1 > cnstVal6) ? cnstVal6 : adj1\n const dx1 = w * cnstVal6 / cnstVal3\n const dy1 = h * cnstVal6 / cnstVal3\n const dx2 = ss * a1 / cnstVal3\n const x1 = hc - dx1\n const x2 = hc - dx2\n const x3 = hc + dx2\n const x4 = hc + dx1\n const y1 = vc - dy1\n const y2 = vc - dx2\n const y3 = vc + dx2\n const y4 = vc + dy1\n pathData = `M ${x1},${y2} L ${x2},${y2} L ${x2},${y1} L ${x3},${y1} L ${x3},${y2} L ${x4},${y2} L ${x4},${y3} L ${x3},${y3} L ${x3},${y4} L ${x2},${y4} L ${x2},${y3} L ${x1},${y3} z`\n }\n }\n break\n case 'can':\n case 'flowChartMagneticDisk':\n case 'flowChartMagneticDrum':\n {\n const shapAdjst = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd', 'attrs', 'fmla'])\n let adj = 25000 * RATIO_EMUs_Points\n const cnstVal1 = 50000 * RATIO_EMUs_Points\n const cnstVal2 = 200000 * RATIO_EMUs_Points\n if (shapAdjst) {\n adj = parseInt(shapAdjst.substring(4)) * RATIO_EMUs_Points\n }\n if (shapType === 'flowChartMagneticDisk' || shapType === 'flowChartMagneticDrum') {\n adj = 50000 * RATIO_EMUs_Points\n }\n const ss = Math.min(w, h)\n const maxAdj = cnstVal1 * h / ss\n const a = (adj < 0) ? 0 : (adj > maxAdj) ? maxAdj : adj\n const y1 = ss * a / cnstVal2\n const y3 = h - y1\n const cd2 = 180,\n wd2 = w / 2\n let dVal = `${shapeArc(wd2, y1, wd2, y1, 0, cd2, false)} ${shapeArc(wd2, y1, wd2, y1, cd2, cd2 + cd2, false).replace('M', 'L')} L ${w},${y3} ${shapeArc(wd2, y3, wd2, y1, 0, cd2, false).replace('M', 'L')} L 0,${y1}`\n\n if (shapType === 'flowChartMagneticDrum') {\n dVal = dVal.replace(/([MLQC])\\s*([-\\d.e]+)\\s*([-\\d.e]+)/gi, (match, command, x, y) => {\n const newX = w / 2 - (parseFloat(y) - h / 2)\n const newY = h / 2 + (parseFloat(x) - w / 2)\n return `${command}${newX} ${newY}`\n }).replace(/([MLQC])\\s*([-\\d.e]+)\\s*([-\\d.e]+)\\s*([-\\d.e]+)\\s*([-\\d.e]+)/gi, (match, command, c1x, c1y, x, y) => {\n const newC1X = w / 2 - (parseFloat(c1y) - h / 2)\n const newC1Y = h / 2 + (parseFloat(c1x) - w / 2)\n const newX = w / 2 - (parseFloat(y) - h / 2)\n const newY = h / 2 + (parseFloat(x) - w / 2)\n return `${command}${newC1X} ${newC1Y} ${newX} ${newY}`\n })\n }\n pathData = dVal\n }\n break\n case 'swooshArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n const refr = RATIO_EMUs_Points\n let adj1 = 25000 * refr\n let adj2 = 16667 * refr\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n } \n else if (sAdj_name === 'adj2') {\n adj2 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * refr\n }\n }\n }\n const cnstVal1 = 1 * refr\n const cnstVal2 = 70000 * refr\n const cnstVal3 = 75000 * refr\n const cnstVal4 = 100000 * refr\n const ss = Math.min(w, h)\n const ssd8 = ss / 8\n const hd6 = h / 6\n const a1 = (adj1 < cnstVal1) ? cnstVal1 : (adj1 > cnstVal3) ? cnstVal3 : adj1\n const maxAdj2 = cnstVal2 * w / ss\n const a2 = (adj2 < 0) ? 0 : (adj2 > maxAdj2) ? maxAdj2 : adj2\n const ad1 = h * a1 / cnstVal4\n const ad2 = ss * a2 / cnstVal4\n const xB = w - ad2\n const yB = ssd8\n const alfa = (Math.PI / 2) / 14\n const dx0 = ssd8 * Math.tan(alfa)\n const xC = xB - dx0\n const dx1 = ad1 * Math.tan(alfa)\n const yF = yB + ad1\n const xF = xB + dx1\n const xE = xF + dx0\n const yE = yF + ssd8\n const dy22 = yE / 2\n const dy3 = h / 20\n const yD = dy22 - dy3\n const yP1 = hd6 + (hd6)\n const xP1 = w / 6\n const yP2 = yF + (hd6 / 2)\n const xP2 = w / 4\n pathData = `M 0,${h} Q ${xP1},${yP1} ${xB},${yB} L ${xC},0 L ${w},${yD} L ${xE},${yE} L ${xF},${yF} Q ${xP2},${yP2} 0,${h} z`\n }\n break\n case 'circularArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 12500 * RATIO_EMUs_Points\n let adj2 = (1142319 / 60000) * Math.PI / 180\n let adj3 = (20457681 / 60000) * Math.PI / 180\n let adj4 = (10800000 / 60000) * Math.PI / 180\n let adj5 = 12500 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj3') {\n adj3 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj4') {\n adj4 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj5') {\n adj5 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n const ss = Math.min(w, h)\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const rdAngVal1 = (1 / 60000) * Math.PI / 180\n const rdAngVal2 = (21599999 / 60000) * Math.PI / 180\n const rdAngVal3 = 2 * Math.PI\n const a5 = (adj5 < 0) ? 0 : (adj5 > cnstVal1) ? cnstVal1 : adj5\n const maxAdj1 = a5 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const enAng = (adj3 < rdAngVal1) ? rdAngVal1 : (adj3 > rdAngVal2) ? rdAngVal2 : adj3\n const stAng = (adj4 < 0) ? 0 : (adj4 > rdAngVal2) ? rdAngVal2 : adj4\n const th = ss * a1 / cnstVal2\n const thh = ss * a5 / cnstVal2\n const th2 = th / 2\n const rw1 = wd2 + th2 - thh\n const rh1 = hd2 + th2 - thh\n const rw2 = rw1 - th\n const rh2 = rh1 - th\n const rw3 = rw2 + th2\n const rh3 = rh2 + th2\n const wtH = rw3 * Math.sin(enAng)\n const htH = rh3 * Math.cos(enAng)\n const dxH = rw3 * Math.cos(Math.atan2(wtH, htH))\n const dyH = rh3 * Math.sin(Math.atan2(wtH, htH))\n const xH = hc + dxH\n const yH = vc + dyH\n const rI = Math.min(rw2, rh2)\n const u8 = 1 - (((dxH * dxH - rI * rI) * (dyH * dyH - rI * rI)) / (dxH * dxH * dyH * dyH))\n const u9 = Math.sqrt(u8)\n const u12 = (1 + u9) / (((dxH * dxH - rI * rI) / dxH) / dyH)\n const u15 = Math.atan2(u12, 1) > 0 ? Math.atan2(u12, 1) : Math.atan2(u12, 1) + rdAngVal3\n const u18 = (u15 - enAng > 0) ? u15 - enAng : u15 - enAng + rdAngVal3\n const u21 = (u18 - Math.PI > 0) ? u18 - rdAngVal3 : u18\n const maxAng = Math.abs(u21)\n const aAng = (adj2 < 0) ? 0 : (adj2 > maxAng) ? maxAng : adj2\n const ptAng = enAng + aAng\n const wtA = rw3 * Math.sin(ptAng)\n const htA = rh3 * Math.cos(ptAng)\n const dxA = rw3 * Math.cos(Math.atan2(wtA, htA))\n const dyA = rh3 * Math.sin(Math.atan2(wtA, htA))\n const xA = hc + dxA\n const yA = vc + dyA\n const dxG = thh * Math.cos(ptAng)\n const dyG = thh * Math.sin(ptAng)\n const xG = xH + dxG\n const yG = yH + dyG\n const dxB = thh * Math.cos(ptAng)\n const dyB = thh * Math.sin(ptAng)\n const xB = xH - dxB\n const yB = yH - dyB\n const sx1 = xB - hc\n const sy1 = yB - vc\n const sx2 = xG - hc\n const sy2 = yG - vc\n const rO = Math.min(rw1, rh1)\n const x1O = sx1 * rO / rw1\n const y1O = sy1 * rO / rh1\n const x2O = sx2 * rO / rw1\n const y2O = sy2 * rO / rh1\n const dxO = x2O - x1O\n const dyO = y2O - y1O\n const dO = Math.sqrt(dxO * dxO + dyO * dyO)\n const DO = x1O * y2O - x2O * y1O\n const sdelO = Math.sqrt(Math.max(0, rO * rO * dO * dO - DO * DO))\n const sdyO = (dyO * -1 > 0) ? -1 : 1\n const dxF1 = (DO * dyO + sdyO * dxO * sdelO) / (dO * dO)\n const dxF2 = (DO * dyO - sdyO * dxO * sdelO) / (dO * dO)\n const dyF1 = (-DO * dxO + Math.abs(dyO) * sdelO) / (dO * dO)\n const dyF2 = (-DO * dxO - Math.abs(dyO) * sdelO) / (dO * dO)\n const q22 = Math.sqrt((x2O - dxF2) ** 2 + (y2O - dyF2) ** 2) - Math.sqrt((x2O - dxF1) ** 2 + (y2O - dyF1) ** 2)\n const dxF = (q22 > 0) ? dxF1 : dxF2\n const dyF = (q22 > 0) ? dyF1 : dyF2\n const xF = hc + (dxF * rw1 / rO)\n const yF = vc + (dyF * rh1 / rO)\n const x1I = sx1 * rI / rw2\n const y1I = sy1 * rI / rh2\n const x2I = sx2 * rI / rw2\n const y2I = sy2 * rI / rh2\n const dxI = x2I - x1I\n const dyI = y2I - y1I\n const dI = Math.sqrt(dxI * dxI + dyI * dyI)\n const DI = x1I * y2I - x2I * y1I\n const sdelI = Math.sqrt(Math.max(0, rI * rI * dI * dI - DI * DI))\n const dxC1 = (DI * dyI + sdyO * dxI * sdelI) / (dI * dI)\n const dxC2 = (DI * dyI - sdyO * dxI * sdelI) / (dI * dI)\n const dyC1 = (-DI * dxI + Math.abs(dyI) * sdelI) / (dI * dI)\n const dyC2 = (-DI * dxI - Math.abs(dyI) * sdelI) / (dI * dI)\n const v22 = Math.sqrt((x1I - dxC2) ** 2 + (y1I - dyC2) ** 2) - Math.sqrt((x1I - dxC1) ** 2 + (y1I - dyC1) ** 2)\n const dxC = (v22 > 0) ? dxC1 : dxC2\n const dyC = (v22 > 0) ? dyC1 : dyC2\n const xC = hc + (dxC * rw2 / rI)\n const yC = vc + (dyC * rh2 / rI)\n const ist0 = Math.atan2(dyC * rh2 / rI, dxC * rw2 / rI)\n const istAng = (ist0 > 0) ? ist0 : ist0 + rdAngVal3\n const isw1 = stAng - istAng\n const iswAng = (isw1 > 0) ? isw1 - rdAngVal3 : isw1\n const p5 = Math.sqrt((xF - xC) ** 2 + (yF - yC) ** 2) / 2 - thh\n const xGp = (p5 > 0) ? xF : xG\n const yGp = (p5 > 0) ? yF : yG\n const xBp = (p5 > 0) ? xC : xB\n const yBp = (p5 > 0) ? yC : yB\n const en0 = Math.atan2((yF - vc), (xF - hc))\n const en2 = (en0 > 0) ? en0 : en0 + rdAngVal3\n const sw0 = en2 - stAng\n const swAng = (sw0 > 0) ? sw0 : sw0 + rdAngVal3\n const strtAng = stAng * 180 / Math.PI\n const endAngVal = strtAng + (swAng * 180 / Math.PI)\n const stiAng = istAng * 180 / Math.PI\n const ediAng = stiAng + (iswAng * 180 / Math.PI)\n pathData = `${shapeArc(w / 2, h / 2, rw1, rh1, strtAng, endAngVal, false)} L ${xGp},${yGp} L ${xA},${yA} L ${xBp},${yBp} L ${xC},${yC} ${shapeArc(w / 2, h / 2, rw2, rh2, stiAng, ediAng, false).replace('M', 'L')} z`\n }\n break\n case 'leftCircularArrow':\n {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n let adj1 = 12500 * RATIO_EMUs_Points\n let adj2 = (-1142319 / 60000) * Math.PI / 180\n let adj3 = (1142319 / 60000) * Math.PI / 180\n let adj4 = (10800000 / 60000) * Math.PI / 180\n let adj5 = 12500 * RATIO_EMUs_Points\n if (shapAdjst_ary) {\n for (const adj of shapAdjst_ary) {\n const sAdj_name = getTextByPathList(adj, ['attrs', 'name'])\n if (sAdj_name === 'adj1') {\n adj1 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n else if (sAdj_name === 'adj2') {\n adj2 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj3') {\n adj3 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj4') {\n adj4 = (parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) / 60000) * Math.PI / 180\n }\n else if (sAdj_name === 'adj5') {\n adj5 = parseInt(getTextByPathList(adj, ['attrs', 'fmla']).substring(4)) * RATIO_EMUs_Points\n }\n }\n }\n const hc = w / 2,\n vc = h / 2,\n wd2 = w / 2,\n hd2 = h / 2\n const ss = Math.min(w, h)\n const cnstVal1 = 25000 * RATIO_EMUs_Points\n const cnstVal2 = 100000 * RATIO_EMUs_Points\n const rdAngVal1 = (1 / 60000) * Math.PI / 180\n const rdAngVal2 = (21599999 / 60000) * Math.PI / 180\n const rdAngVal3 = 2 * Math.PI\n const a5 = (adj5 < 0) ? 0 : (adj5 > cnstVal1) ? cnstVal1 : adj5\n const maxAdj1 = a5 * 2\n const a1 = (adj1 < 0) ? 0 : (adj1 > maxAdj1) ? maxAdj1 : adj1\n const enAng = (adj3 < rdAngVal1) ? rdAngVal1 : (adj3 > rdAngVal2) ? rdAngVal2 : adj3\n const stAng = (adj4 < 0) ? 0 : (adj4 > rdAngVal2) ? rdAngVal2 : adj4\n const th = ss * a1 / cnstVal2\n const thh = ss * a5 / cnstVal2\n const th2 = th / 2\n const rw1 = wd2 + th2 - thh\n const rh1 = hd2 + th2 - thh\n const rw2 = rw1 - th\n const rh2 = rh1 - th\n const rw3 = rw2 + th2\n const rh3 = rh2 + th2\n const dxH = rw3 * Math.cos(enAng)\n const dyH = rh3 * Math.sin(enAng)\n const xH = hc + dxH\n const yH = vc + dyH\n const rI = Math.min(rw2, rh2)\n const u8 = 1 - (((dxH * dxH - rI * rI) * (dyH * dyH - rI * rI)) / (dxH * dxH * dyH * dyH))\n const u9 = Math.sqrt(u8)\n const u12 = (1 + u9) / (((dxH * dxH - rI * rI) / dxH) / dyH)\n const u15 = Math.atan2(u12, 1) > 0 ? Math.atan2(u12, 1) : Math.atan2(u12, 1) + rdAngVal3\n const u18 = (u15 - enAng > 0) ? u15 - enAng : u15 - enAng + rdAngVal3\n const u21 = (u18 - Math.PI > 0) ? u18 - rdAngVal3 : u18\n const minAng = -Math.abs(u21)\n const aAng = (adj2 < minAng) ? minAng : (adj2 > 0) ? 0 : adj2\n const ptAng = enAng + aAng\n const dxA = rw3 * Math.cos(ptAng)\n const dyA = rh3 * Math.sin(ptAng)\n const xA = hc + dxA\n const yA = vc + dyA\n const dxE = rw1 * Math.cos(stAng)\n const dyE = rh1 * Math.sin(stAng)\n const xE = hc + dxE\n const yE = vc + dyE\n const dxD = rw2 * Math.cos(stAng)\n const dyD = rh2 * Math.sin(stAng)\n const xD = hc + dxD\n const yD = vc + dyD\n const dxG = thh * Math.cos(ptAng)\n const dyG = thh * Math.sin(ptAng)\n const xG = xH + dxG\n const yG = yH + dyG\n const dxB = thh * Math.cos(ptAng)\n const dyB = thh * Math.sin(ptAng)\n const xB = xH - dxB\n const yB = yH - dyB\n const sx1 = xB - hc\n const sy1 = yB - vc\n const sx2 = xG - hc\n const sy2 = yG - vc\n const rO = Math.min(rw1, rh1)\n const x1O = sx1 * rO / rw1\n const y1O = sy1 * rO / rh1\n const x2O = sx2 * rO / rw1\n const y2O = sy2 * rO / rh1\n const dxO = x2O - x1O\n const dyO = y2O - y1O\n const dO = Math.sqrt(dxO * dxO + dyO * dyO)\n const DO = x1O * y2O - x2O * y1O\n const sdelO = Math.sqrt(Math.max(0, rO * rO * dO * dO - DO * DO))\n const sdyO = (dyO * -1 > 0) ? -1 : 1\n const dxF1 = (DO * dyO + sdyO * dxO * sdelO) / (dO * dO)\n const dxF2 = (DO * dyO - sdyO * dxO * sdelO) / (dO * dO)\n const dyF1 = (-DO * dxO + Math.abs(dyO) * sdelO) / (dO * dO)\n const dyF2 = (-DO * dxO - Math.abs(dyO) * sdelO) / (dO * dO)\n const q22 = Math.sqrt((x2O - dxF2) ** 2 + (y2O - dyF2) ** 2) - Math.sqrt((x2O - dxF1) ** 2 + (y2O - dyF1) ** 2)\n const dxF = (q22 > 0) ? dxF1 : dxF2\n const dyF = (q22 > 0) ? dyF1 : dyF2\n const xF = hc + (dxF * rw1 / rO)\n const yF = vc + (dyF * rh1 / rO)\n const x1I = sx1 * rI / rw2\n const y1I = sy1 * rI / rh2\n const x2I = sx2 * rI / rw2\n const y2I = sy2 * rI / rh2\n const dxI = x2I - x1I\n const dyI = y2I - y1I\n const dI = Math.sqrt(dxI * dxI + dyI * dyI)\n const DI = x1I * y2I - x2I * y1I\n const sdelI = Math.sqrt(Math.max(0, rI * rI * dI * dI - DI * DI))\n const dxC1 = (DI * dyI + sdyO * dxI * sdelI) / (dI * dI)\n const dxC2 = (DI * dyI - sdyO * dxI * sdelI) / (dI * dI)\n const dyC1 = (-DI * dxI + Math.abs(dyI) * sdelI) / (dI * dI)\n const dyC2 = (-DI * dxI - Math.abs(dyI) * sdelI) / (dI * dI)\n const v22 = Math.sqrt((x1I - dxC2) ** 2 + (y1I - dyC2) ** 2) - Math.sqrt((x1I - dxC1) ** 2 + (y1I - dyC1) ** 2)\n const dxC = (v22 > 0) ? dxC1 : dxC2\n const dyC = (v22 > 0) ? dyC1 : dyC2\n const xC = hc + (dxC * rw2 / rI)\n const yC = vc + (dyC * rh2 / rI)\n const ist0 = Math.atan2(dyC * rh2 / rI, dxC * rw2 / rI)\n const istAng0 = (ist0 > 0) ? ist0 : ist0 + rdAngVal3\n const isw1 = stAng - istAng0\n const iswAng0 = (isw1 > 0) ? isw1 : isw1 + rdAngVal3\n const istAng = istAng0 + iswAng0\n const iswAng = -iswAng0\n const p5 = Math.sqrt((xF - xC) ** 2 + (yF - yC) ** 2) / 2 - thh\n const xGp = (p5 > 0) ? xF : xG\n const yGp = (p5 > 0) ? yF : yG\n const xBp = (p5 > 0) ? xC : xB\n const yBp = (p5 > 0) ? yC : yB\n const en0 = Math.atan2((yF - vc), (xF - hc))\n const en2 = (en0 > 0) ? en0 : en0 + rdAngVal3\n const sw0 = en2 - stAng\n const swAng = (sw0 > 0) ? sw0 - rdAngVal3 : sw0\n const stAng0 = stAng + swAng\n const strtAng = stAng0 * 180 / Math.PI\n const endAngVal = stAng * 180 / Math.PI\n const stiAng = istAng * 180 / Math.PI\n const ediAng = stiAng + (iswAng * 180 / Math.PI)\n pathData = `M ${xE},${yE} L ${xD},${yD} ${shapeArc(w / 2, h / 2, rw2, rh2, stiAng, ediAng, false).replace('M', 'L')} L ${xBp},${yBp} L ${xA},${yA} L ${xGp},${yGp} L ${xF},${yF} ${shapeArc(w / 2, h / 2, rw1, rh1, strtAng, endAngVal, false).replace('M', 'L')} z`\n }\n break\n case 'leftRightCircularArrow':\n case 'chartPlus':\n case 'chartStar':\n case 'chartX':\n case 'cornerTabs':\n case 'flowChartOfflineStorage':\n case 'folderCorner':\n case 'funnel':\n case 'lineInv':\n case 'nonIsoscelesTrapezoid':\n case 'plaqueTabs':\n case 'squareTabs':\n case 'upDownArrowCallout':\n pathData = `M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z`\n break\n default:\n pathData = `M 0 0 L ${w} 0 L ${w} ${h} L 0 ${h} Z`\n }\n\n return pathData\n}\n","import { getTextByPathList } from './utils'\n\nexport function findTransitionNode(content, rootElement) {\n if (!content || !rootElement) return null\n\n const path1 = [rootElement, 'p:transition']\n let transitionNode = getTextByPathList(content, path1)\n if (transitionNode) return transitionNode\n\n const path2 = [rootElement, 'mc:AlternateContent', 'mc:Choice', 'p:transition']\n transitionNode = getTextByPathList(content, path2)\n if (transitionNode) return transitionNode\n\n const path3 = [rootElement, 'mc:AlternateContent', 'mc:Fallback', 'p:transition']\n transitionNode = getTextByPathList(content, path3)\n \n return transitionNode\n}\n\nexport function parseTransition(transitionNode) {\n if (!transitionNode) return null\n\n const transition = {\n type: 'none',\n duration: 1000,\n direction: null,\n }\n\n const attrs = transitionNode.attrs || {}\n\n let durationFound = false\n const durRegex = /^p\\d{2}:dur$/ \n for (const key in attrs) {\n if (durRegex.test(key) && !isNaN(parseInt(attrs[key], 10))) {\n transition.duration = parseInt(attrs[key], 10)\n durationFound = true\n break\n }\n }\n\n if (!durationFound && attrs.spd) {\n switch (attrs.spd) {\n case 'slow':\n transition.duration = 1000\n break\n case 'med':\n transition.duration = 800\n break\n case 'fast':\n transition.duration = 500\n break\n default:\n transition.duration = 1000\n break\n }\n }\n\n if (attrs.advClick === '0' && attrs.advTm) {\n transition.autoNextAfter = parseInt(attrs.advTm, 10)\n }\n\n const effectRegex = /^(p|p\\d{2}):/ \n for (const key in transitionNode) {\n if (key !== 'attrs' && effectRegex.test(key)) {\n const effectNode = transitionNode[key]\n transition.type = key.substring(key.indexOf(':') + 1)\n\n if (effectNode && effectNode.attrs) {\n const effectAttrs = effectNode.attrs\n \n if (effectAttrs.dur && !isNaN(parseInt(effectAttrs.dur, 10))) {\n if (!durationFound) transition.duration = parseInt(effectAttrs.dur, 10)\n }\n if (effectAttrs.dir) transition.direction = effectAttrs.dir\n }\n break\n }\n }\n\n return transition\n}","import { readXmlFile } from './readXmlFile'\nimport { getTextNodeValue } from './text'\nimport { getTextByPathList } from './utils'\n\nexport async function loadDiagramFile(warpObj, filename, transformDrawing = false) {\n if (!filename) return null\n\n const cacheKey = `${transformDrawing ? 'drawing:' : 'xml:'}${filename}`\n if (warpObj.diagramFileCache[cacheKey]) return warpObj.diagramFileCache[cacheKey]\n\n let content = await readXmlFile(warpObj['zip'], filename)\n if (content && transformDrawing) {\n const contentStr = JSON.stringify(content).replace(/dsp:/g, 'p:')\n content = JSON.parse(contentStr)\n }\n\n warpObj.diagramFileCache[cacheKey] = content\n return content\n}\n\nexport function getDiagramDrawingRelId(dataContent) {\n let extNodes = getTextByPathList(dataContent, ['dgm:dataModel', 'dgm:extLst', 'a:ext'])\n if (!extNodes) return ''\n\n if (!Array.isArray(extNodes)) extNodes = [extNodes]\n for (const extNode of extNodes) {\n const relId = getTextByPathList(extNode, ['dsp:dataModelExt', 'attrs', 'relId'])\n if (relId) return relId\n }\n\n return ''\n}\n\nexport async function getDiagramNodeContext(node, warpObj) {\n const relIds = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'dgm:relIds', 'attrs']) || {}\n const diagramContent = {\n data: null,\n layout: null,\n quickStyle: null,\n colors: null,\n drawing: null,\n }\n let digramFileContent = {}\n const diagramResObj = {}\n\n const diagramDataTarget = getTextByPathList(warpObj['slideResObj'], [relIds['r:dm'], 'target'])\n const diagramLayoutTarget = getTextByPathList(warpObj['slideResObj'], [relIds['r:lo'], 'target'])\n const diagramQuickStyleTarget = getTextByPathList(warpObj['slideResObj'], [relIds['r:qs'], 'target'])\n const diagramColorsTarget = getTextByPathList(warpObj['slideResObj'], [relIds['r:cs'], 'target'])\n\n if (diagramDataTarget) diagramContent.data = await loadDiagramFile(warpObj, diagramDataTarget)\n if (diagramLayoutTarget) diagramContent.layout = await loadDiagramFile(warpObj, diagramLayoutTarget)\n if (diagramQuickStyleTarget) diagramContent.quickStyle = await loadDiagramFile(warpObj, diagramQuickStyleTarget)\n if (diagramColorsTarget) diagramContent.colors = await loadDiagramFile(warpObj, diagramColorsTarget)\n\n const drawingRelId = diagramContent.data ? getDiagramDrawingRelId(diagramContent.data) : ''\n const drawingTarget = getTextByPathList(warpObj['slideResObj'], [drawingRelId, 'target'])\n\n if (drawingTarget) {\n digramFileContent = await loadDiagramFile(warpObj, drawingTarget, true) || {}\n diagramContent.drawing = digramFileContent\n\n const drawingName = drawingTarget.split('/').pop()\n const diagramResFileName = drawingTarget.replace(drawingName, '_rels/' + drawingName) + '.rels'\n const digramResContent = await readXmlFile(warpObj['zip'], diagramResFileName)\n if (digramResContent) {\n let relationshipArray = digramResContent['Relationships']['Relationship']\n if (relationshipArray && relationshipArray.constructor !== Array) relationshipArray = [relationshipArray]\n if (relationshipArray) {\n for (const relationshipArrayItem of relationshipArray) {\n let relTarget = relationshipArrayItem['attrs']['Target']\n relTarget = relTarget.replace(/\\\\/g, '/')\n if (relTarget.indexOf('/ppt/') === 0) relTarget = relTarget.substr(1)\n else if (relTarget.indexOf('../') !== -1) relTarget = relTarget.replace('../', 'ppt/')\n else relTarget = drawingTarget.replace(drawingName, '') + relTarget\n\n diagramResObj[relationshipArrayItem['attrs']['Id']] = {\n type: relationshipArrayItem['attrs']['Type'].replace('http://schemas.openxmlformats.org/officeDocument/2006/relationships/', ''),\n target: relTarget,\n }\n }\n }\n }\n }\n\n return {\n ...warpObj,\n digramFileContent,\n diagramResObj,\n diagramContent,\n }\n}\n\nexport function getSmartArtTextData(dataContent) {\n const result = []\n\n let ptLst = getTextByPathList(dataContent, ['dgm:dataModel', 'dgm:ptLst', 'dgm:pt'])\n\n if (!ptLst) return result\n if (!Array.isArray(ptLst)) ptLst = [ptLst]\n\n for (const pt of ptLst) {\n const textBody = getTextByPathList(pt, ['dgm:t'])\n\n if (textBody) {\n let nodeText = ''\n\n let paragraphs = getTextByPathList(textBody, ['a:p'])\n if (paragraphs) {\n if (!Array.isArray(paragraphs)) paragraphs = [paragraphs]\n\n paragraphs.forEach(p => {\n let runs = getTextByPathList(p, ['a:r'])\n if (runs) {\n if (!Array.isArray(runs)) runs = [runs]\n\n runs.forEach(r => {\n const t = getTextNodeValue(getTextByPathList(r, ['a:t']))\n if (t && typeof t === 'string') nodeText += t\n })\n }\n if (nodeText.length > 0) nodeText += '\\n'\n })\n }\n\n const cleanText = nodeText.trim()\n if (cleanText) {\n result.push(cleanText)\n }\n }\n }\n\n return result\n}\n","import JSZip from 'jszip'\nimport { readXmlFile } from './readXmlFile'\nimport { getBorder } from './border'\nimport { getSlideBackgroundFill, getShapeFill, getSolidFill, getPicFill, getPicFilters, getPicFillOpacity, getImageData, getVideoData, getAudioData } from './fill'\nimport { getChartInfo } from './chart'\nimport { getVerticalAlign, getTextDirection, getTextAutoFit } from './paragraph'\nimport { getTextInsets } from './textInsets'\nimport { getPosition, getSize } from './position'\nimport { genTextBody, getTextNodeValue } from './text'\nimport { getCustomShapePath, identifyShape, isStrokeOnlyCustomGeometry } from './shape'\nimport { extractFileExtension, getTextByPathList, angleToDegrees, isVideoLink, escapeHtml, hasValidText, numberToFixed, isOoxmlTrue } from './utils'\nimport { getFontData, getFontFallback } from './font'\nimport { getShadow } from './shadow'\nimport { getTableBorders, getTableCellParams, getTableRowParams } from './table'\nimport { RATIO_EMUs_Points } from './constants'\nimport { findOMath, oMathToLatex } from './math'\nimport { getShapePath } from './shapePath'\nimport { parseTransition, findTransitionNode } from './animation'\nimport { getDiagramNodeContext, getSmartArtTextData } from './diagram'\n\n// Producers emit relationship types in either the ECMA-376 namespace or the\n// Microsoft 2007 extension namespace (e.g. p14 media, diagram drawings).\nconst REL_TYPE_NAMESPACES = [\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/',\n 'http://schemas.microsoft.com/office/2007/relationships/',\n]\n\nfunction getRelTypeName(type) {\n if (!type) return ''\n for (const namespace of REL_TYPE_NAMESPACES) {\n if (type.indexOf(namespace) === 0) return type.replace(namespace, '')\n }\n return type\n}\n\nexport async function parse(file, options = {}) {\n const slides = []\n const loadedImages = {}\n const loadedVideos = {}\n const loadedAudios = {}\n const xmlCache = {}\n const parseOptions = {\n ...options,\n imageMode: options.imageMode || 'base64',\n videoMode: options.videoMode || 'none',\n audioMode: options.audioMode || 'none',\n }\n\n // 检测是否为加密文件(OLE2/CFB 格式,魔数为 D0 CF 11 E0)\n let fileBytes\n if (file instanceof ArrayBuffer) {\n fileBytes = new Uint8Array(file)\n }\n else if (typeof File !== 'undefined' && file instanceof File) {\n const buf = await file.arrayBuffer()\n fileBytes = new Uint8Array(buf)\n }\n else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(file)) {\n fileBytes = new Uint8Array(file)\n }\n if (fileBytes && fileBytes[0] === 0xD0 && fileBytes[1] === 0xCF && fileBytes[2] === 0x11 && fileBytes[3] === 0xE0) {\n throw new Error('ENCRYPTED_FILE')\n }\n\n const zip = await JSZip.loadAsync(file)\n\n const filesInfo = await getContentTypes(zip)\n const { width, height, defaultTextStyle } = await getSlideInfo(zip)\n const { themeContent, themeColors } = await getTheme(zip)\n const usedFonts = await getUsedFonts(zip)\n\n for (const filename of filesInfo.slides) {\n const singleSlide = await processSingleSlide(zip, filename, themeContent, defaultTextStyle, loadedImages, loadedVideos, loadedAudios, parseOptions, xmlCache)\n if (singleSlide) slides.push(singleSlide)\n }\n\n return {\n slides,\n usedFonts,\n themeColors,\n size: {\n width,\n height,\n },\n }\n}\n\nasync function getContentTypes(zip) {\n const ContentTypesJson = await readXmlFile(zip, '[Content_Types].xml')\n const subObj = ContentTypesJson['Types']['Override']\n let slidesLocArray = []\n let slideLayoutsLocArray = []\n\n for (const item of subObj) {\n switch (item['attrs']['ContentType']) {\n case 'application/vnd.openxmlformats-officedocument.presentationml.slide+xml':\n slidesLocArray.push(item['attrs']['PartName'].substr(1))\n break\n case 'application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml':\n slideLayoutsLocArray.push(item['attrs']['PartName'].substr(1))\n break\n default:\n }\n }\n \n const sortSlideXml = (p1, p2) => {\n const n1 = +/(\\d+)\\.xml/.exec(p1)[1]\n const n2 = +/(\\d+)\\.xml/.exec(p2)[1]\n return n1 - n2\n }\n slidesLocArray = slidesLocArray.sort(sortSlideXml)\n slideLayoutsLocArray = slideLayoutsLocArray.sort(sortSlideXml)\n \n return {\n slides: slidesLocArray,\n slideLayouts: slideLayoutsLocArray,\n }\n}\n\nasync function getUsedFonts(zip) {\n const content = await readXmlFile(zip, 'ppt/presentation.xml')\n const embeddedFontList = getTextByPathList(content, ['p:presentation', 'p:embeddedFontLst', 'p:embeddedFont'])\n const usedFonts = []\n\n if (!embeddedFontList) return usedFonts\n\n const embeddedFonts = embeddedFontList.constructor === Array ? embeddedFontList : [embeddedFontList]\n\n // 读取 presentation.xml.rels,获取字体文件路径\n const relsContent = await readXmlFile(zip, 'ppt/_rels/presentation.xml.rels')\n const relsMap = {}\n if (relsContent) {\n let relItems = getTextByPathList(relsContent, ['Relationships', 'Relationship'])\n if (relItems) {\n if (relItems.constructor !== Array) relItems = [relItems]\n for (const rel of relItems) {\n const id = getTextByPathList(rel, ['attrs', 'Id'])\n const target = getTextByPathList(rel, ['attrs', 'Target'])\n if (id && target) relsMap[id] = target\n }\n }\n }\n\n const FONT_VARIANTS = ['p:regular', 'p:bold', 'p:italic', 'p:boldItalic']\n\n for (const embeddedFont of embeddedFonts) {\n const typeface = getTextByPathList(embeddedFont, ['p:font', 'attrs', 'typeface'])\n if (!typeface) continue\n\n let fontBlob = ''\n for (const variant of FONT_VARIANTS) {\n const variantNode = embeddedFont[variant]\n if (!variantNode) continue\n const rid = getTextByPathList(variantNode, ['attrs', 'r:id'])\n if (!rid) continue\n const relTarget = relsMap[rid]\n if (!relTarget) continue\n\n let fontPath = relTarget\n if (fontPath.startsWith('../')) {\n fontPath = fontPath.substring(3)\n }\n else {\n fontPath = 'ppt/' + fontPath\n }\n\n fontBlob = await getFontData(zip, fontPath)\n if (fontBlob) break\n }\n\n usedFonts.push({\n name: typeface,\n fontFamily: getFontFallback(typeface),\n blob: fontBlob,\n })\n }\n\n return usedFonts\n}\n\nasync function getSlideInfo(zip) {\n const content = await readXmlFile(zip, 'ppt/presentation.xml')\n const sldSzAttrs = content['p:presentation']['p:sldSz']['attrs']\n const defaultTextStyle = content['p:presentation']['p:defaultTextStyle']\n return {\n width: parseInt(sldSzAttrs['cx']) * RATIO_EMUs_Points,\n height: parseInt(sldSzAttrs['cy']) * RATIO_EMUs_Points,\n defaultTextStyle,\n }\n}\n\nasync function getTheme(zip) {\n let themeContent = null\n let themeURI\n\n const preResContent = await readXmlFile(zip, 'ppt/_rels/presentation.xml.rels')\n const relationshipArray = preResContent['Relationships']['Relationship']\n\n if (relationshipArray.constructor === Array) {\n for (const relationshipItem of relationshipArray) {\n if (relationshipItem['attrs']['Type'] === 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme') {\n themeURI = relationshipItem['attrs']['Target']\n break\n }\n }\n }\n else if (relationshipArray['attrs']['Type'] === 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme') {\n themeURI = relationshipArray['attrs']['Target']\n }\n\n if (!themeURI) {\n const masterResContent = await readXmlFile(zip, 'ppt/slideMasters/_rels/slideMaster1.xml.rels')\n if (masterResContent) {\n const masterRelationshipArray = masterResContent['Relationships']['Relationship']\n if (masterRelationshipArray.constructor === Array) {\n for (const relationshipItem of masterRelationshipArray) {\n if (relationshipItem['attrs']['Type'] === 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme') {\n themeURI = relationshipItem['attrs']['Target']\n break\n }\n }\n }\n else if (masterRelationshipArray['attrs']['Type'] === 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme') {\n themeURI = masterRelationshipArray['attrs']['Target']\n }\n }\n }\n\n if (themeURI) {\n themeURI = themeURI.replace(/\\\\/g, '/')\n if (themeURI.startsWith('../')) themeURI = themeURI.substring(3)\n const themeFilename = themeURI.indexOf('/ppt/') === 0 ? themeURI.substr(1) : 'ppt/' + themeURI\n themeContent = await readXmlFile(zip, themeFilename)\n }\n\n const themeColors = []\n if (themeContent) {\n const clrScheme = getTextByPathList(themeContent, ['a:theme', 'a:themeElements', 'a:clrScheme'])\n if (clrScheme) {\n for (let i = 1; i <= 6; i++) {\n if (clrScheme[`a:accent${i}`] === undefined) break\n const color = getTextByPathList(clrScheme, [`a:accent${i}`, 'a:srgbClr', 'attrs', 'val'])\n if (color) themeColors.push('#' + color)\n }\n }\n }\n\n return { themeContent, themeColors }\n}\n\nasync function readXmlFileCached(zip, filename, xmlCache) {\n if (!filename) return null\n if (Object.prototype.hasOwnProperty.call(xmlCache, filename)) return xmlCache[filename]\n\n const content = await readXmlFile(zip, filename)\n xmlCache[filename] = content\n return content\n}\n\nasync function processSingleSlide(zip, sldFileName, themeContent, defaultTextStyle, loadedImages, loadedVideos, loadedAudios, options, xmlCache) {\n const resName = sldFileName.replace('slides/slide', 'slides/_rels/slide') + '.rels'\n const resContent = await readXmlFile(zip, resName)\n if (!resContent) return null\n let relationshipArray = resContent['Relationships']['Relationship']\n if (relationshipArray.constructor !== Array) relationshipArray = [relationshipArray]\n \n let noteFilename = ''\n let layoutFilename = ''\n let masterFilename = ''\n let themeFilename = ''\n const slideResObj = {}\n const layoutResObj = {}\n const masterResObj = {}\n const themeResObj = {}\n\n for (const relationshipArrayItem of relationshipArray) {\n const relType = getRelTypeName(relationshipArrayItem['attrs']['Type'])\n let relTarget = relationshipArrayItem['attrs']['Target']\n const isExternal = relationshipArrayItem['attrs']['TargetMode'] === 'External'\n if (!isExternal) {\n relTarget = relTarget.replace(/\\\\/g, '/')\n if (relTarget.indexOf('/ppt/') === 0) relTarget = relTarget.substr(1)\n else if (relTarget.indexOf('../') !== -1) relTarget = relTarget.replace('../', 'ppt/')\n else relTarget = 'ppt/slides/' + relTarget\n }\n\n if (relType === 'slideLayout') layoutFilename = relTarget\n else if (relType === 'notesSlide') noteFilename = relTarget\n\n slideResObj[relationshipArrayItem['attrs']['Id']] = {\n type: relType,\n target: relTarget,\n }\n }\n \n const slideNotesContent = await readXmlFile(zip, noteFilename)\n const note = getNote(slideNotesContent)\n\n const slideLayoutContent = await readXmlFileCached(zip, layoutFilename, xmlCache)\n const slideLayoutTables = indexNodes(slideLayoutContent)\n const slideLayoutResFilename = layoutFilename.replace('slideLayouts/slideLayout', 'slideLayouts/_rels/slideLayout') + '.rels'\n const slideLayoutResContent = await readXmlFileCached(zip, slideLayoutResFilename, xmlCache)\n if (slideLayoutResContent) {\n relationshipArray = slideLayoutResContent['Relationships']['Relationship']\n if (relationshipArray) {\n if (relationshipArray.constructor !== Array) relationshipArray = [relationshipArray]\n for (const relationshipArrayItem of relationshipArray) {\n const relType = getRelTypeName(relationshipArrayItem['attrs']['Type'])\n let relTarget = relationshipArrayItem['attrs']['Target']\n relTarget = relTarget.replace(/\\\\/g, '/')\n if (relTarget.indexOf('/ppt/') === 0) relTarget = relTarget.substr(1)\n else if (relTarget.indexOf('../') !== -1) relTarget = relTarget.replace('../', 'ppt/')\n else relTarget = 'ppt/slideLayouts/' + relTarget\n\n if (relType === 'slideMaster') masterFilename = relTarget\n else {\n layoutResObj[relationshipArrayItem['attrs']['Id']] = {\n type: relType,\n target: relTarget,\n }\n }\n }\n }\n }\n\n const slideMasterContent = await readXmlFileCached(zip, masterFilename, xmlCache)\n const slideMasterTextStyles = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:txStyles'])\n const slideMasterTables = indexNodes(slideMasterContent)\n const slideMasterResFilename = masterFilename.replace('slideMasters/slideMaster', 'slideMasters/_rels/slideMaster') + '.rels'\n const slideMasterResContent = await readXmlFileCached(zip, slideMasterResFilename, xmlCache)\n if (slideMasterResContent) {\n relationshipArray = slideMasterResContent['Relationships']['Relationship']\n if (relationshipArray) {\n if (relationshipArray.constructor !== Array) relationshipArray = [relationshipArray]\n for (const relationshipArrayItem of relationshipArray) {\n const relType = getRelTypeName(relationshipArrayItem['attrs']['Type'])\n let relTarget = relationshipArrayItem['attrs']['Target']\n relTarget = relTarget.replace(/\\\\/g, '/')\n if (relTarget.indexOf('/ppt/') === 0) relTarget = relTarget.substr(1)\n else if (relTarget.indexOf('../') !== -1) relTarget = relTarget.replace('../', 'ppt/')\n else relTarget = 'ppt/slideMasters/' + relTarget\n\n if (relType === 'theme') themeFilename = relTarget\n else {\n masterResObj[relationshipArrayItem['attrs']['Id']] = {\n type: relType,\n target: relTarget,\n }\n }\n }\n }\n }\n\n let currentThemeContent = themeContent\n if (themeFilename) {\n currentThemeContent = await readXmlFileCached(zip, themeFilename, xmlCache) || currentThemeContent\n const themeName = themeFilename.split('/').pop()\n const themeResFileName = themeFilename.replace(themeName, '_rels/' + themeName) + '.rels'\n const themeResContent = await readXmlFile(zip, themeResFileName)\n if (themeResContent) {\n relationshipArray = themeResContent['Relationships']['Relationship']\n if (relationshipArray) {\n if (relationshipArray.constructor !== Array) relationshipArray = [relationshipArray]\n for (const relationshipArrayItem of relationshipArray) {\n let relTarget = relationshipArrayItem['attrs']['Target']\n relTarget = relTarget.replace(/\\\\/g, '/')\n if (relTarget.indexOf('/ppt/') === 0) relTarget = relTarget.substr(1)\n else relTarget = relTarget.replace('../', 'ppt/')\n\n themeResObj[relationshipArrayItem['attrs']['Id']] = {\n 'type': getRelTypeName(relationshipArrayItem['attrs']['Type']),\n 'target': relTarget\n }\n }\n }\n }\n }\n\n const tableStyles = await readXmlFileCached(zip, 'ppt/tableStyles.xml', xmlCache)\n\n const slideContent = await readXmlFile(zip, sldFileName)\n if (!slideContent) return null\n const nodes = slideContent['p:sld']['p:cSld']['p:spTree']\n const warpObj = {\n zip,\n loadedImages,\n loadedVideos,\n loadedAudios,\n options,\n slideLayoutContent,\n slideLayoutTables,\n slideMasterContent,\n slideMasterTables,\n slideContent,\n tableStyles,\n slideResObj,\n slideMasterTextStyles,\n layoutResObj,\n masterResObj,\n themeContent: currentThemeContent,\n themeResObj,\n diagramFileCache: {},\n defaultTextStyle,\n }\n const layoutElements = await getLayoutElements(warpObj)\n const fill = await getSlideBackgroundFill(warpObj)\n\n const elements = []\n for (const nodeKey in nodes) {\n if (nodes[nodeKey].constructor !== Array) nodes[nodeKey] = [nodes[nodeKey]]\n for (const node of nodes[nodeKey]) {\n const ret = await processNodesInSlide(nodeKey, node, warpObj, 'slide')\n if (ret) elements.push(ret)\n }\n }\n\n let transitionNode = findTransitionNode(slideContent, 'p:sld')\n if (!transitionNode) transitionNode = findTransitionNode(slideLayoutContent, 'p:sldLayout')\n if (!transitionNode) transitionNode = findTransitionNode(slideMasterContent, 'p:sldMaster')\n\n const transition = parseTransition(transitionNode)\n\n const showMasterSpOnSlide = getTextByPathList(slideContent, ['p:sld', 'attrs', 'showMasterSp'])\n const isHidden = v => v === '0' || v === 'false'\n const hideBackground = isHidden(showMasterSpOnSlide)\n\n return {\n fill,\n elements,\n layoutElements,\n note,\n transition,\n hideBackground,\n }\n}\n\nfunction getHyperlinkFromCNvPr(cNvPr, warpObj) {\n const hlinkClick = getTextByPathList(cNvPr, ['a:hlinkClick', 'attrs'])\n if (!hlinkClick) return null\n\n const linkId = hlinkClick['r:id']\n if (!linkId) return null\n\n const res = warpObj['slideResObj'][linkId]\n if (!res) return null\n\n if (res['type'] !== 'hyperlink') return null\n\n const target = res['target']\n if (!target || !/^https?:\\/\\//.test(target)) return null\n\n return target\n}\n\nfunction getNote(noteContent) {\n let text = ''\n let spNodes = getTextByPathList(noteContent, ['p:notes', 'p:cSld', 'p:spTree', 'p:sp'])\n if (!spNodes) return ''\n\n if (spNodes.constructor !== Array) spNodes = [spNodes]\n for (const spNode of spNodes) {\n const phType = getTextByPathList(spNode, ['p:nvSpPr', 'p:nvPr', 'p:ph', 'attrs', 'type'])\n if (phType !== 'body') continue\n\n const textBody = getTextByPathList(spNode, ['p:txBody'])\n if (!textBody) continue\n\n let pNode = textBody['a:p']\n if (!pNode) continue\n if (pNode.constructor !== Array) pNode = [pNode]\n\n const listTypes = []\n\n for (const p of pNode) {\n const pPr = p['a:pPr']\n const algn = getTextByPathList(pPr, ['attrs', 'algn'])\n let align = 'left'\n if (algn) {\n switch (algn) {\n case 'r': align = 'right'; break\n case 'ctr': align = 'center'; break\n case 'just': case 'dist': align = 'justify'; break\n default: break\n }\n }\n\n let listType = ''\n if (pPr) {\n if (pPr['a:buChar']) listType = 'ul'\n else if (pPr['a:buAutoNum']) listType = 'ol'\n }\n const lvlNode = getTextByPathList(pPr, ['attrs', 'lvl'])\n const listLevel = lvlNode !== undefined ? parseInt(lvlNode) : 0\n\n if (listType) {\n while (listTypes.length > listLevel + 1) {\n text += `</${listTypes.pop()}>`\n }\n if (listTypes[listLevel] === undefined) {\n text += `<${listType}>`\n listTypes[listLevel] = listType\n }\n else if (listTypes[listLevel] !== listType) {\n text += `</${listTypes[listLevel]}>`\n text += `<${listType}>`\n listTypes[listLevel] = listType\n }\n text += `<li><p style=\"text-align:${align};\">`\n }\n else {\n while (listTypes.length > 0) {\n text += `</${listTypes.pop()}>`\n }\n text += `<p style=\"text-align:${align};\">`\n }\n\n let rNodes = p['a:r']\n if (rNodes) {\n if (rNodes.constructor !== Array) rNodes = [rNodes]\n for (const r of rNodes) {\n const t = getTextNodeValue(getTextByPathList(r, ['a:t']))\n if (t && typeof t === 'string') text += t\n }\n }\n\n if (listType) text += '</p></li>'\n else text += '</p>'\n }\n while (listTypes.length > 0) {\n text += `</${listTypes.pop()}>`\n }\n }\n return text\n}\n\nasync function getLayoutElements(warpObj) {\n const elements = []\n const slideLayoutContent = warpObj['slideLayoutContent']\n const slideMasterContent = warpObj['slideMasterContent']\n const nodesSldLayout = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'p:cSld', 'p:spTree'])\n const nodesSldMaster = getTextByPathList(slideMasterContent, ['p:sldMaster', 'p:cSld', 'p:spTree'])\n\n const showMasterSp = getTextByPathList(slideLayoutContent, ['p:sldLayout', 'attrs', 'showMasterSp'])\n if (nodesSldLayout) {\n for (const nodeKey in nodesSldLayout) {\n if (nodesSldLayout[nodeKey].constructor === Array) {\n for (let i = 0; i < nodesSldLayout[nodeKey].length; i++) {\n const ph = getTextByPathList(nodesSldLayout[nodeKey][i], ['p:nvSpPr', 'p:nvPr', 'p:ph'])\n if (!ph) {\n const ret = await processNodesInSlide(nodeKey, nodesSldLayout[nodeKey][i], warpObj, 'slideLayoutBg')\n if (ret) elements.push(ret)\n }\n }\n } \n else {\n const ph = getTextByPathList(nodesSldLayout[nodeKey], ['p:nvSpPr', 'p:nvPr', 'p:ph'])\n if (!ph) {\n const ret = await processNodesInSlide(nodeKey, nodesSldLayout[nodeKey], warpObj, 'slideLayoutBg')\n if (ret) elements.push(ret)\n }\n }\n }\n }\n if (nodesSldMaster && showMasterSp !== '0') {\n for (const nodeKey in nodesSldMaster) {\n if (nodesSldMaster[nodeKey].constructor === Array) {\n for (let i = 0; i < nodesSldMaster[nodeKey].length; i++) {\n const ph = getTextByPathList(nodesSldMaster[nodeKey][i], ['p:nvSpPr', 'p:nvPr', 'p:ph'])\n if (!ph) {\n const ret = await processNodesInSlide(nodeKey, nodesSldMaster[nodeKey][i], warpObj, 'slideMasterBg')\n if (ret) elements.push(ret)\n }\n }\n } \n else {\n const ph = getTextByPathList(nodesSldMaster[nodeKey], ['p:nvSpPr', 'p:nvPr', 'p:ph'])\n if (!ph) {\n const ret = await processNodesInSlide(nodeKey, nodesSldMaster[nodeKey], warpObj, 'slideMasterBg')\n if (ret) elements.push(ret)\n }\n }\n }\n }\n return elements\n}\n\nfunction indexNodes(content) {\n if (!content) return { idTable: {}, idxTable: {}, typeTable: {} }\n const keys = Object.keys(content)\n const spTreeNode = content[keys[0]]?.['p:cSld']?.['p:spTree']\n if (!spTreeNode) return { idTable: {}, idxTable: {}, typeTable: {} }\n const idTable = {}\n const idxTable = {}\n const typeTable = {}\n\n for (const key in spTreeNode) {\n if (key === 'p:nvGrpSpPr' || key === 'p:grpSpPr') continue\n\n const targetNode = spTreeNode[key]\n\n if (targetNode.constructor === Array) {\n for (const targetNodeItem of targetNode) {\n const nvSpPrNode = targetNodeItem['p:nvSpPr']\n const id = getTextByPathList(nvSpPrNode, ['p:cNvPr', 'attrs', 'id'])\n const idx = getTextByPathList(nvSpPrNode, ['p:nvPr', 'p:ph', 'attrs', 'idx'])\n const type = getTextByPathList(nvSpPrNode, ['p:nvPr', 'p:ph', 'attrs', 'type'])\n\n if (id) idTable[id] = targetNodeItem\n if (idx) idxTable[idx] = targetNodeItem\n if (type && !typeTable[type]) typeTable[type] = targetNodeItem\n }\n } \n else {\n const nvSpPrNode = targetNode['p:nvSpPr']\n const id = getTextByPathList(nvSpPrNode, ['p:cNvPr', 'attrs', 'id'])\n const idx = getTextByPathList(nvSpPrNode, ['p:nvPr', 'p:ph', 'attrs', 'idx'])\n const type = getTextByPathList(nvSpPrNode, ['p:nvPr', 'p:ph', 'attrs', 'type'])\n\n if (id) idTable[id] = targetNode\n if (idx) idxTable[idx] = targetNode\n if (type && !typeTable[type]) typeTable[type] = targetNode\n }\n }\n\n return { idTable, idxTable, typeTable }\n}\n\nasync function processNodesInSlide(nodeKey, nodeValue, warpObj, source, groupHierarchy = []) {\n let json\n\n switch (nodeKey) {\n case 'p:sp': // Shape, Text\n json = await processSpNode(nodeValue, warpObj, source, groupHierarchy)\n break\n case 'p:cxnSp': // Shape, Text\n json = await processCxnSpNode(nodeValue, warpObj, source)\n break\n case 'p:pic': // Image, Video, Audio\n json = await processPicNode(nodeValue, warpObj, source)\n break\n case 'p:graphicFrame': // Chart, Diagram, Table\n json = await processGraphicFrameNode(nodeValue, warpObj, source)\n break\n case 'p:grpSp':\n json = await processGroupSpNode(nodeValue, warpObj, source, groupHierarchy)\n break\n case 'mc:AlternateContent':\n if (getTextByPathList(nodeValue, ['mc:Fallback', 'p:grpSpPr', 'a:xfrm'])) {\n json = await processGroupSpNode(getTextByPathList(nodeValue, ['mc:Fallback']), warpObj, source, groupHierarchy)\n }\n else if (getTextByPathList(nodeValue, ['mc:Choice'])) {\n json = await processMathNode(nodeValue, warpObj, source)\n }\n break\n default:\n }\n\n if (json && typeof json === 'object' && !json.id) {\n const id = getTextByPathList(nodeValue, ['p:nvSpPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['p:nvPicPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['p:nvCxnSpPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['p:nvGrpSpPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['p:nvGraphicFramePr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['mc:Choice', 'p:sp', 'p:nvSpPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['mc:Fallback', 'p:sp', 'p:nvSpPr', 'p:cNvPr', 'attrs', 'id']) ||\n getTextByPathList(nodeValue, ['mc:Fallback', 'p:nvGrpSpPr', 'p:cNvPr', 'attrs', 'id'])\n\n json.id = id || ''\n }\n\n return json\n}\n\nasync function processMathNode(node, warpObj, source) {\n const choice = getTextByPathList(node, ['mc:Choice'])\n const fallback = getTextByPathList(node, ['mc:Fallback'])\n\n const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(choice, ['p:sp', 'p:spPr', 'a:xfrm'])\n const { top, left } = getPosition(xfrmNode, undefined, undefined)\n const { width, height } = getSize(xfrmNode, undefined, undefined)\n\n const oMath = findOMath(choice)[0]\n if (!oMath) return null\n\n const latex = oMathToLatex(oMath)\n\n const blipFill = getTextByPathList(fallback, ['p:sp', 'p:spPr', 'a:blipFill'])\n const picFill = await getPicFill(source, blipFill, warpObj)\n\n let text = ''\n if (getTextByPathList(choice, ['p:sp', 'p:txBody', 'a:p', 'a:r'])) {\n const sp = getTextByPathList(choice, ['p:sp'])\n text = genTextBody(sp['p:txBody'], sp, undefined, undefined, undefined, warpObj)\n }\n\n return {\n type: 'math',\n top,\n left,\n width, \n height,\n latex,\n picRef: picFill.ref,\n picBase64: picFill.base64,\n picBlob: picFill.blob,\n text,\n order,\n }\n}\n\nasync function processGroupSpNode(node, warpObj, source, parentGroupHierarchy = []) {\n const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, ['p:grpSpPr', 'a:xfrm'])\n if (!xfrmNode) return null\n\n const x = parseInt(xfrmNode['a:off']['attrs']['x']) * RATIO_EMUs_Points\n const y = parseInt(xfrmNode['a:off']['attrs']['y']) * RATIO_EMUs_Points\n const chx = parseInt(xfrmNode['a:chOff']['attrs']['x']) * RATIO_EMUs_Points\n const chy = parseInt(xfrmNode['a:chOff']['attrs']['y']) * RATIO_EMUs_Points\n const cx = parseInt(xfrmNode['a:ext']['attrs']['cx']) * RATIO_EMUs_Points\n const cy = parseInt(xfrmNode['a:ext']['attrs']['cy']) * RATIO_EMUs_Points\n const chcx = parseInt(xfrmNode['a:chExt']['attrs']['cx']) * RATIO_EMUs_Points\n const chcy = parseInt(xfrmNode['a:chExt']['attrs']['cy']) * RATIO_EMUs_Points\n\n const isFlipV = isOoxmlTrue(getTextByPathList(xfrmNode, ['attrs', 'flipV']))\n const isFlipH = isOoxmlTrue(getTextByPathList(xfrmNode, ['attrs', 'flipH']))\n\n let rotate = getTextByPathList(xfrmNode, ['attrs', 'rot']) || 0\n if (rotate) rotate = angleToDegrees(rotate)\n\n // 计算缩放因子\n const ws = chcx === 0 ? 0 : cx / chcx\n const hs = chcy === 0 ? 0 : cy / chcy\n\n // 构建当前组合层级(将当前组合添加到父级层级中)\n const currentGroupHierarchy = [...parentGroupHierarchy, node]\n\n const elements = []\n for (const nodeKey in node) {\n if (node[nodeKey].constructor === Array) {\n for (const item of node[nodeKey]) {\n const ret = await processNodesInSlide(nodeKey, item, warpObj, source, currentGroupHierarchy)\n if (ret) elements.push(ret)\n }\n }\n else {\n const ret = await processNodesInSlide(nodeKey, node[nodeKey], warpObj, source, currentGroupHierarchy)\n if (ret) elements.push(ret)\n }\n }\n\n const transformGroupedElement = (element, offsetX = 0, offsetY = 0) => {\n const elementRotate = element.rotate || 0\n const normalizedRotate = ((elementRotate % 360) + 360) % 360\n const isUniformScale = Math.abs(ws - hs) < 0.000001\n const shouldSwapDimensions = normalizedRotate === 90 || normalizedRotate === 270\n const centerX = element.left + element.width / 2\n const centerY = element.top + element.height / 2\n const nextCenterX = (centerX - offsetX) * ws\n const nextCenterY = (centerY - offsetY) * hs\n const widthScale = shouldSwapDimensions && !isUniformScale ? hs : ws\n const heightScale = shouldSwapDimensions && !isUniformScale ? ws : hs\n const width = element.width * widthScale\n const height = element.height * heightScale\n\n const transformed = {\n ...element,\n left: numberToFixed(nextCenterX - width / 2),\n top: numberToFixed(nextCenterY - height / 2),\n width: numberToFixed(width),\n height: numberToFixed(height),\n }\n return transformed\n }\n\n const processedElements = elements.map(element => ({\n ...transformGroupedElement(element, chx, chy),\n ...(element.type === 'group' && element.elements ? {\n elements: processNestedGroupElements(element.elements)\n } : {})\n }))\n\n function processNestedGroupElements(elements, depth = 0) {\n if (depth > 10) return elements\n\n return elements.map(element => {\n const processed = transformGroupedElement(element)\n if (element.type === 'group' && element.elements) {\n processed.elements = processNestedGroupElements(element.elements, depth + 1)\n }\n return processed\n })\n }\n\n return {\n type: 'group',\n top: numberToFixed(y),\n left: numberToFixed(x),\n width: numberToFixed(cx),\n height: numberToFixed(cy),\n rotate,\n order,\n isFlipV,\n isFlipH,\n elements: processedElements,\n }\n}\n\nasync function processSpNode(node, warpObj, source, groupHierarchy = []) {\n const cNvPr = getTextByPathList(node, ['p:nvSpPr', 'p:cNvPr'])\n const name = getTextByPathList(cNvPr, ['attrs', 'name'])\n const idx = getTextByPathList(node, ['p:nvSpPr', 'p:nvPr', 'p:ph', 'attrs', 'idx'])\n let type = getTextByPathList(node, ['p:nvSpPr', 'p:nvPr', 'p:ph', 'attrs', 'type'])\n const order = getTextByPathList(node, ['attrs', 'order'])\n\n let slideLayoutSpNode, slideMasterSpNode\n\n if (type) {\n if (idx) {\n slideLayoutSpNode = warpObj['slideLayoutTables']['idxTable'][idx]\n slideMasterSpNode = warpObj['slideMasterTables']['idxTable'][idx]\n if (!slideLayoutSpNode) slideLayoutSpNode = warpObj['slideLayoutTables']['typeTable'][type]\n if (!slideMasterSpNode) slideMasterSpNode = warpObj['slideMasterTables']['typeTable'][type]\n }\n else {\n slideLayoutSpNode = warpObj['slideLayoutTables']['typeTable'][type]\n slideMasterSpNode = warpObj['slideMasterTables']['typeTable'][type]\n }\n }\n else if (idx) {\n slideLayoutSpNode = warpObj['slideLayoutTables']['idxTable'][idx]\n slideMasterSpNode = warpObj['slideMasterTables']['idxTable'][idx]\n }\n\n if (!type) {\n const txBoxVal = getTextByPathList(node, ['p:nvSpPr', 'p:cNvSpPr', 'attrs', 'txBox'])\n if (isOoxmlTrue(txBoxVal)) type = 'text'\n }\n if (!type) type = getTextByPathList(slideLayoutSpNode, ['p:nvSpPr', 'p:nvPr', 'p:ph', 'attrs', 'type'])\n if (!type) type = getTextByPathList(slideMasterSpNode, ['p:nvSpPr', 'p:nvPr', 'p:ph', 'attrs', 'type'])\n if (!slideMasterSpNode && type === 'ctrTitle') slideMasterSpNode = warpObj['slideMasterTables']['typeTable']['title']\n\n if (!type) {\n if (source === 'diagramBg') type = 'diagram'\n else type = 'obj'\n }\n\n const link = getHyperlinkFromCNvPr(cNvPr, warpObj)\n\n return await genShape(node, slideLayoutSpNode, slideMasterSpNode, name, type, order, warpObj, source, link, groupHierarchy)\n}\n\nasync function processCxnSpNode(node, warpObj, source) {\n const cNvPr = getTextByPathList(node, ['p:nvCxnSpPr', 'p:cNvPr'])\n const name = getTextByPathList(cNvPr, ['attrs', 'name'])\n const type = (node['p:nvCxnSpPr']['p:nvPr']['p:ph'] === undefined) ? undefined : node['p:nvCxnSpPr']['p:nvPr']['p:ph']['attrs']['type']\n const order = node['attrs']['order']\n const link = getHyperlinkFromCNvPr(cNvPr, warpObj)\n\n return await genShape(node, undefined, undefined, name, type, order, warpObj, source, link)\n}\n\nasync function genShape(node, slideLayoutSpNode, slideMasterSpNode, name, type, order, warpObj, source, link, groupHierarchy = []) {\n const xfrmList = ['p:spPr', 'a:xfrm']\n const slideXfrmNode = getTextByPathList(node, xfrmList)\n const slideLayoutXfrmNode = getTextByPathList(slideLayoutSpNode, xfrmList)\n const slideMasterXfrmNode = getTextByPathList(slideMasterSpNode, xfrmList)\n\n const shapType = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'attrs', 'prst'])\n const custShapType = getTextByPathList(node, ['p:spPr', 'a:custGeom'])\n\n const keypoints = {}\n if (shapType) {\n const shapAdjst_ary = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'a:avLst', 'a:gd'])\n if (shapAdjst_ary) {\n const adjList = Array.isArray(shapAdjst_ary) ? shapAdjst_ary : [shapAdjst_ary]\n for (const adj of adjList) {\n const name = getTextByPathList(adj, ['attrs', 'name'])\n const fmla = getTextByPathList(adj, ['attrs', 'fmla'])\n if (name && fmla && fmla.startsWith('val ')) {\n keypoints[name] = parseInt(fmla.substring(4)) / 50000\n }\n }\n }\n }\n\n const { top, left } = getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode)\n const { width, height } = getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode)\n const pathViewBox = { x: 0, y: 0, width, height }\n\n const isFlipV = isOoxmlTrue(getTextByPathList(slideXfrmNode, ['attrs', 'flipV']))\n const isFlipH = isOoxmlTrue(getTextByPathList(slideXfrmNode, ['attrs', 'flipH']))\n\n const rotate = angleToDegrees(getTextByPathList(slideXfrmNode, ['attrs', 'rot']))\n\n const txtXframeNode = getTextByPathList(node, ['p:txXfrm'])\n let txtRotate\n if (txtXframeNode) {\n const txtXframeRot = getTextByPathList(txtXframeNode, ['attrs', 'rot'])\n if (txtXframeRot) txtRotate = angleToDegrees(txtXframeRot) + 90\n } \n else txtRotate = rotate\n\n let content = ''\n if (node['p:txBody']) content = genTextBody(node['p:txBody'], node, slideLayoutSpNode, slideMasterSpNode, type, warpObj)\n\n const { borderColor, borderWidth, borderType, strokeDasharray, headEnd, tailEnd } = getBorder(node, type, warpObj)\n const fill = await getShapeFill(node, warpObj, source, {\n groupHierarchy,\n slideLayoutSpNode,\n slideMasterSpNode,\n })\n\n let shadow\n const outerShdwNode = getTextByPathList(node, ['p:spPr', 'a:effectLst', 'a:outerShdw'])\n if (outerShdwNode) shadow = getShadow(outerShdwNode, warpObj)\n\n const vAlign = getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type)\n // Vertical writing mode, inherited through layout/master. Read once here and reported on\n // every branch below: a vertical <a:bodyPr vert> is just as valid on a shape as on a plain\n // text box, and dropping it for shapes leaves the consumer laying that text out horizontally.\n const textDirection = getTextDirection(node, slideLayoutSpNode, slideMasterSpNode)\n const isVertical = textDirection !== 'horz'\n const wrap = getTextByPathList(node, ['p:txBody', 'a:bodyPr', 'attrs', 'wrap']) !== 'none'\n const autoFit = getTextAutoFit(node, slideLayoutSpNode, slideMasterSpNode)\n const textInset = getTextInsets(node, slideLayoutSpNode, slideMasterSpNode)\n\n const data = {\n left,\n top,\n width,\n height,\n borderColor,\n borderWidth,\n borderType,\n borderStrokeDasharray: strokeDasharray,\n fill,\n content,\n isFlipV,\n isFlipH,\n rotate,\n vAlign,\n wrap,\n name,\n order,\n }\n\n if (shadow) data.shadow = shadow\n if (autoFit) data.autoFit = autoFit\n if (link) data.link = link\n if (textInset) data.textInset = textInset\n if (headEnd) data.headEnd = headEnd\n if (tailEnd) data.tailEnd = tailEnd\n\n const isHasValidText = data.content && hasValidText(data.content)\n\n if (custShapType && type !== 'diagram') {\n const d = getCustomShapePath(custShapType, width, height)\n if (!isHasValidText) data.content = ''\n\n const customShapeData = {\n ...data,\n type: 'shape',\n isVertical,\n shapType: 'custom',\n path: d,\n pathViewBox,\n }\n if (isStrokeOnlyCustomGeometry(custShapType)) customShapeData.strokeOnly = true\n\n return customShapeData\n }\n\n let shapePath = ''\n if (shapType) shapePath = getShapePath(shapType, width, height, node)\n const STROKE_ONLY_PRESET_SHAPE_TYPES = ['arc', 'leftBrace', 'rightBrace', 'bracePair', 'leftBracket', 'rightBracket', 'bracketPair']\n const isStrokeOnlyPresetShape = STROKE_ONLY_PRESET_SHAPE_TYPES.includes(shapType)\n\n if (shapType && (type === 'obj' || !type || shapType !== 'rect')) {\n if (!isHasValidText) data.content = ''\n const shapeData = {\n ...data,\n type: 'shape',\n isVertical,\n shapType,\n path: shapePath,\n pathViewBox,\n keypoints,\n }\n if (isStrokeOnlyPresetShape) shapeData.strokeOnly = true\n return shapeData\n }\n if (shapType && !isHasValidText && (fill || borderWidth)) {\n const shapeData = {\n ...data,\n type: 'shape',\n isVertical,\n content: '',\n shapType,\n path: shapePath,\n pathViewBox,\n keypoints,\n }\n if (isStrokeOnlyPresetShape) shapeData.strokeOnly = true\n return shapeData\n }\n return {\n ...data,\n type: 'text',\n isVertical,\n rotate: txtRotate,\n }\n}\n\nasync function processPicNode(node, warpObj, source) {\n let resObj\n if (source === 'slideMasterBg') resObj = warpObj['masterResObj']\n else if (source === 'slideLayoutBg') resObj = warpObj['layoutResObj']\n else resObj = warpObj['slideResObj']\n\n const cNvPr = getTextByPathList(node, ['p:nvPicPr', 'p:cNvPr'])\n const link = getHyperlinkFromCNvPr(cNvPr, warpObj)\n const order = node['attrs']['order']\n \n const rid = node['p:blipFill']['a:blip']['attrs']['r:embed']\n \n if (!rid || !resObj[rid]) return null\n\n const imgName = resObj[rid]['target']\n\n let xfrmNode = node['p:spPr']['a:xfrm']\n if (!xfrmNode) {\n const idx = getTextByPathList(node, ['p:nvPicPr', 'p:nvPr', 'p:ph', 'attrs', 'idx'])\n if (idx) xfrmNode = getTextByPathList(warpObj['slideLayoutTables'], ['idxTable', idx, 'p:spPr', 'a:xfrm'])\n }\n\n const { top, left } = getPosition(xfrmNode, undefined, undefined)\n const { width, height } = getSize(xfrmNode, undefined, undefined)\n const imageData = await getImageData(imgName, warpObj)\n\n const isFlipV = isOoxmlTrue(getTextByPathList(xfrmNode, ['attrs', 'flipV']))\n const isFlipH = isOoxmlTrue(getTextByPathList(xfrmNode, ['attrs', 'flipH']))\n\n let rotate = 0\n const rotateNode = getTextByPathList(node, ['p:spPr', 'a:xfrm', 'attrs', 'rot'])\n if (rotateNode) rotate = angleToDegrees(rotateNode)\n\n const videoNode = getTextByPathList(node, ['p:nvPicPr', 'p:nvPr', 'a:videoFile'])\n let videoRid, videoFile, videoFileExt\n let videoData = {\n ref: '',\n blob: '',\n }\n let isVdeoLink = false\n\n if (videoNode) {\n videoRid = videoNode['attrs']['r:link']\n videoFile = resObj[videoRid]['target']\n if (isVideoLink(videoFile)) {\n videoFile = escapeHtml(videoFile)\n isVdeoLink = true\n } \n else {\n videoFileExt = extractFileExtension(videoFile).toLowerCase()\n if (videoFileExt === 'mp4' || videoFileExt === 'webm' || videoFileExt === 'ogg') {\n videoData = await getVideoData(videoFile, warpObj)\n }\n else {\n videoData = {\n ref: videoFile,\n blob: '',\n }\n }\n }\n if (isVdeoLink) {\n videoData = {\n ref: videoFile,\n blob: '',\n }\n }\n }\n\n const audioNode = getTextByPathList(node, ['p:nvPicPr', 'p:nvPr', 'a:audioFile'])\n let audioRid, audioFile, audioFileExt\n let audioData = {\n ref: '',\n blob: '',\n }\n if (audioNode) {\n audioRid = audioNode['attrs']['r:link']\n audioFile = resObj[audioRid]['target']\n audioFileExt = extractFileExtension(audioFile).toLowerCase()\n if (audioFileExt === 'mp3' || audioFileExt === 'wav' || audioFileExt === 'ogg') {\n audioData = await getAudioData(audioFile, warpObj)\n }\n else {\n audioData = {\n ref: audioFile,\n blob: '',\n }\n }\n }\n\n if (videoNode && !isVdeoLink) {\n return {\n type: 'video',\n top,\n left,\n width, \n height,\n rotate,\n ref: videoData.ref,\n blob: videoData.blob,\n order,\n }\n } \n if (videoNode && isVdeoLink) {\n return {\n type: 'video',\n top,\n left,\n width, \n height,\n rotate,\n ref: videoData.ref,\n blob: videoData.blob,\n order,\n }\n }\n if (audioNode) {\n return {\n type: 'audio',\n top,\n left,\n width, \n height,\n rotate,\n ref: audioData.ref,\n blob: audioData.blob,\n order,\n }\n }\n\n let rect\n const srcRectAttrs = getTextByPathList(node, ['p:blipFill', 'a:srcRect', 'attrs'])\n if (srcRectAttrs && (srcRectAttrs.t || srcRectAttrs.b || srcRectAttrs.l || srcRectAttrs.r)) {\n rect = {}\n if (srcRectAttrs.t) rect.t = srcRectAttrs.t / 1000\n if (srcRectAttrs.b) rect.b = srcRectAttrs.b / 1000\n if (srcRectAttrs.l) rect.l = srcRectAttrs.l / 1000\n if (srcRectAttrs.r) rect.r = srcRectAttrs.r / 1000\n }\n\n const prstGeom = getTextByPathList(node, ['p:spPr', 'a:prstGeom', 'attrs', 'prst'])\n const custGeom = getTextByPathList(node, ['p:spPr', 'a:custGeom'])\n\n const { borderColor, borderWidth, borderType, strokeDasharray } = getBorder(node, undefined, warpObj)\n const filters = getPicFilters(node['p:blipFill'])\n const opacity = getPicFillOpacity(node['p:blipFill'])\n\n if (prstGeom || custGeom) {\n let shapType, path\n if (custGeom) {\n const identifiedShape = identifyShape(custGeom)\n shapType = identifiedShape !== 'custom' ? `custom:${identifiedShape}` : 'custom'\n path = getCustomShapePath(custGeom, width, height)\n }\n else {\n shapType = prstGeom\n path = getShapePath(prstGeom, width, height, node) || ''\n }\n\n const fill = {\n type: 'image',\n value: {\n ref: imageData.ref,\n base64: imageData.base64,\n blob: imageData.blob,\n opacity,\n rect,\n },\n }\n\n const shapeDataJson = {\n type: 'shape',\n shapType,\n path,\n top,\n left,\n width,\n height,\n rotate,\n isFlipV,\n isFlipH,\n order,\n fill,\n content: '',\n borderColor,\n borderWidth,\n borderType,\n borderStrokeDasharray: strokeDasharray,\n }\n\n if (filters) shapeDataJson.filters = filters\n if (link) shapeDataJson.link = link\n\n return shapeDataJson\n }\n\n const imageDataJson = {\n type: 'image',\n top,\n left,\n width,\n height,\n rotate,\n ref: imageData.ref,\n base64: imageData.base64,\n blob: imageData.blob,\n isFlipV,\n isFlipH,\n order,\n rect,\n geom: 'rect',\n borderColor,\n borderWidth,\n borderType,\n borderStrokeDasharray: strokeDasharray,\n opacity,\n }\n\n if (filters) imageDataJson.filters = filters\n if (link) imageDataJson.link = link\n\n return imageDataJson\n}\n\nasync function processGraphicFrameNode(node, warpObj, source) {\n const graphicTypeUri = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'attrs', 'uri'])\n \n let result\n switch (graphicTypeUri) {\n case 'http://schemas.openxmlformats.org/drawingml/2006/table':\n result = await genTable(node, warpObj)\n break\n case 'http://schemas.openxmlformats.org/drawingml/2006/chart':\n result = await genChart(node, warpObj)\n break\n case 'http://schemas.openxmlformats.org/drawingml/2006/diagram':\n result = await genDiagram(node, warpObj)\n break\n case 'http://schemas.openxmlformats.org/presentationml/2006/ole':\n let oleObjNode = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'mc:AlternateContent', 'mc:Fallback', 'p:oleObj'])\n if (!oleObjNode) oleObjNode = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'p:oleObj'])\n if (oleObjNode) result = await processGroupSpNode(oleObjNode, warpObj, source)\n break\n default:\n }\n return result\n}\n\nasync function genTable(node, warpObj) {\n const order = node['attrs']['order']\n const tableNode = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'a:tbl'])\n const xfrmNode = getTextByPathList(node, ['p:xfrm'])\n const { top, left } = getPosition(xfrmNode, undefined, undefined)\n const { width, height } = getSize(xfrmNode, undefined, undefined)\n\n const getTblPr = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'a:tbl', 'a:tblPr'])\n let getColsGrid = getTextByPathList(node, ['a:graphic', 'a:graphicData', 'a:tbl', 'a:tblGrid', 'a:gridCol'])\n if (getColsGrid.constructor !== Array) getColsGrid = [getColsGrid]\n\n const colWidths = []\n if (getColsGrid) {\n for (const item of getColsGrid) {\n const colWidthParam = getTextByPathList(item, ['attrs', 'w']) || 0\n const colWidth = parseInt(colWidthParam) * RATIO_EMUs_Points\n colWidths.push(colWidth)\n }\n }\n\n const firstRowAttr = getTblPr['attrs'] ? getTblPr['attrs']['firstRow'] : undefined\n const firstColAttr = getTblPr['attrs'] ? getTblPr['attrs']['firstCol'] : undefined\n const lastRowAttr = getTblPr['attrs'] ? getTblPr['attrs']['lastRow'] : undefined\n const lastColAttr = getTblPr['attrs'] ? getTblPr['attrs']['lastCol'] : undefined\n const bandRowAttr = getTblPr['attrs'] ? getTblPr['attrs']['bandRow'] : undefined\n const bandColAttr = getTblPr['attrs'] ? getTblPr['attrs']['bandCol'] : undefined\n const tblStylAttrObj = {\n isFrstRowAttr: isOoxmlTrue(firstRowAttr) ? 1 : 0,\n isFrstColAttr: isOoxmlTrue(firstColAttr) ? 1 : 0,\n isLstRowAttr: isOoxmlTrue(lastRowAttr) ? 1 : 0,\n isLstColAttr: isOoxmlTrue(lastColAttr) ? 1 : 0,\n isBandRowAttr: isOoxmlTrue(bandRowAttr) ? 1 : 0,\n isBandColAttr: isOoxmlTrue(bandColAttr) ? 1 : 0,\n }\n\n let thisTblStyle\n const tbleStyleId = getTblPr['a:tableStyleId']\n if (tbleStyleId) {\n const tbleStylList = warpObj['tableStyles']['a:tblStyleLst']['a:tblStyle']\n if (tbleStylList) {\n if (tbleStylList.constructor === Array) {\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k]['attrs']['styleId'] === tbleStyleId) {\n thisTblStyle = tbleStylList[k]\n }\n }\n } \n else {\n if (tbleStylList['attrs']['styleId'] === tbleStyleId) {\n thisTblStyle = tbleStylList\n }\n }\n }\n }\n if (thisTblStyle) thisTblStyle['tblStylAttrObj'] = tblStylAttrObj\n\n let borders = {}\n const tblStyl = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle'])\n const tblBorderStyl = getTextByPathList(tblStyl, ['a:tcBdr'])\n if (tblBorderStyl) borders = getTableBorders(tblBorderStyl, warpObj)\n\n let tbl_bgcolor = ''\n let tbl_bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:tblBg', 'a:fillRef'])\n if (tbl_bgFillschemeClr) {\n tbl_bgcolor = getSolidFill(tbl_bgFillschemeClr, undefined, undefined, warpObj)\n }\n if (tbl_bgFillschemeClr === undefined) {\n tbl_bgFillschemeClr = getTextByPathList(thisTblStyle, ['a:wholeTbl', 'a:tcStyle', 'a:fill', 'a:solidFill'])\n tbl_bgcolor = getSolidFill(tbl_bgFillschemeClr, undefined, undefined, warpObj)\n }\n\n let trNodes = tableNode['a:tr']\n if (trNodes.constructor !== Array) trNodes = [trNodes]\n \n const data = []\n const rowHeights = []\n for (let i = 0; i < trNodes.length; i++) {\n const trNode = trNodes[i]\n \n const rowHeightParam = getTextByPathList(trNodes[i], ['attrs', 'h']) || 0\n const rowHeight = parseInt(rowHeightParam) * RATIO_EMUs_Points\n rowHeights.push(rowHeight)\n\n const {\n fillColor,\n fontColor,\n fontBold,\n } = getTableRowParams(trNodes, i, tblStylAttrObj, thisTblStyle, warpObj)\n\n const tcNodes = trNode['a:tc']\n const tr = []\n\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const tcNode = tcNodes[j]\n let a_sorce\n if (j === 0 && tblStylAttrObj['isFrstColAttr'] === 1) {\n a_sorce = 'a:firstCol'\n if (tblStylAttrObj['isLstRowAttr'] === 1 && i === (trNodes.length - 1) && getTextByPathList(thisTblStyle, ['a:seCell'])) {\n a_sorce = 'a:seCell'\n } \n else if (tblStylAttrObj['isFrstRowAttr'] === 1 && i === 0 &&\n getTextByPathList(thisTblStyle, ['a:neCell'])) {\n a_sorce = 'a:neCell'\n }\n } \n else if (\n (j > 0 && tblStylAttrObj['isBandColAttr'] === 1) &&\n !(tblStylAttrObj['isFrstColAttr'] === 1 && i === 0) &&\n !(tblStylAttrObj['isLstRowAttr'] === 1 && i === (trNodes.length - 1)) &&\n j !== (tcNodes.length - 1)\n ) {\n if ((j % 2) !== 0) {\n let aBandNode = getTextByPathList(thisTblStyle, ['a:band2V'])\n if (aBandNode === undefined) {\n aBandNode = getTextByPathList(thisTblStyle, ['a:band1V'])\n if (aBandNode) a_sorce = 'a:band2V'\n } \n else a_sorce = 'a:band2V'\n }\n }\n if (j === (tcNodes.length - 1) && tblStylAttrObj['isLstColAttr'] === 1) {\n a_sorce = 'a:lastCol'\n if (tblStylAttrObj['isLstRowAttr'] === 1 && i === (trNodes.length - 1) && getTextByPathList(thisTblStyle, ['a:swCell'])) {\n a_sorce = 'a:swCell'\n } \n else if (tblStylAttrObj['isFrstRowAttr'] === 1 && i === 0 && getTextByPathList(thisTblStyle, ['a:nwCell'])) {\n a_sorce = 'a:nwCell'\n }\n }\n const text = genTextBody(tcNode['a:txBody'], tcNode, undefined, undefined, undefined, warpObj)\n const cell = await getTableCellParams(tcNode, thisTblStyle, a_sorce, warpObj)\n const td = { text }\n if (cell.rowSpan) td.rowSpan = cell.rowSpan\n if (cell.colSpan) td.colSpan = cell.colSpan\n if (cell.vMerge) td.vMerge = cell.vMerge\n if (cell.hMerge) td.hMerge = cell.hMerge\n if (cell.vAlign) td.vAlign = cell.vAlign\n if (cell.fontBold || fontBold) td.fontBold = cell.fontBold || fontBold\n if (cell.fontColor || fontColor) td.fontColor = cell.fontColor || fontColor\n if (cell.fillColor || fillColor || tbl_bgcolor) td.fillColor = cell.fillColor || fillColor || tbl_bgcolor\n if (cell.borders) td.borders = cell.borders\n\n tr.push(td)\n }\n } \n else {\n let a_sorce\n if (tblStylAttrObj['isFrstColAttr'] === 1 && tblStylAttrObj['isLstRowAttr'] !== 1) {\n a_sorce = 'a:firstCol'\n } \n else if (tblStylAttrObj['isBandColAttr'] === 1 && tblStylAttrObj['isLstRowAttr'] !== 1) {\n let aBandNode = getTextByPathList(thisTblStyle, ['a:band2V'])\n if (!aBandNode) {\n aBandNode = getTextByPathList(thisTblStyle, ['a:band1V'])\n if (aBandNode) a_sorce = 'a:band2V'\n } \n else a_sorce = 'a:band2V'\n }\n if (tblStylAttrObj['isLstColAttr'] === 1 && tblStylAttrObj['isLstRowAttr'] !== 1) {\n a_sorce = 'a:lastCol'\n }\n\n const text = genTextBody(tcNodes['a:txBody'], tcNodes, undefined, undefined, undefined, warpObj)\n const cell = await getTableCellParams(tcNodes, thisTblStyle, a_sorce, warpObj)\n const td = { text }\n if (cell.rowSpan) td.rowSpan = cell.rowSpan\n if (cell.colSpan) td.colSpan = cell.colSpan\n if (cell.vMerge) td.vMerge = cell.vMerge\n if (cell.hMerge) td.hMerge = cell.hMerge\n if (cell.vAlign) td.vAlign = cell.vAlign\n if (cell.fontBold || fontBold) td.fontBold = cell.fontBold || fontBold\n if (cell.fontColor || fontColor) td.fontColor = cell.fontColor || fontColor\n if (cell.fillColor || fillColor || tbl_bgcolor) td.fillColor = cell.fillColor || fillColor || tbl_bgcolor\n if (cell.borders) td.borders = cell.borders\n\n tr.push(td)\n }\n data.push(tr)\n }\n\n let actualTableWidth = colWidths.reduce((sum, width) => sum + width, 0)\n if (actualTableWidth) actualTableWidth = numberToFixed(actualTableWidth)\n\n return {\n type: 'table',\n top,\n left,\n width: actualTableWidth || width,\n height,\n data,\n order,\n borders,\n rowHeights,\n colWidths,\n }\n}\n\nasync function genChart(node, warpObj) {\n const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, ['p:xfrm'])\n const { top, left } = getPosition(xfrmNode, undefined, undefined)\n const { width, height } = getSize(xfrmNode, undefined, undefined)\n\n const rid = node['a:graphic']['a:graphicData']['c:chart']['attrs']['r:id']\n let refName = getTextByPathList(warpObj['slideResObj'], [rid, 'target'])\n if (!refName) refName = getTextByPathList(warpObj['layoutResObj'], [rid, 'target'])\n if (!refName) refName = getTextByPathList(warpObj['masterResObj'], [rid, 'target'])\n if (!refName) return null\n\n const content = await readXmlFile(warpObj['zip'], refName)\n const plotArea = getTextByPathList(content, ['c:chartSpace', 'c:chart', 'c:plotArea'])\n\n const chart = getChartInfo(plotArea, warpObj)\n\n if (!chart) return null\n\n const data = {\n type: 'chart',\n top,\n left,\n width,\n height,\n data: chart.data,\n colors: chart.colors,\n chartType: chart.type,\n order,\n }\n if (chart.marker !== undefined) data.marker = chart.marker\n if (chart.barDir !== undefined) data.barDir = chart.barDir\n if (chart.holeSize !== undefined) data.holeSize = chart.holeSize\n if (chart.grouping !== undefined) data.grouping = chart.grouping\n if (chart.style !== undefined) data.style = chart.style\n\n return data\n}\n\nasync function genDiagram(node, warpObj) {\n const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, ['p:xfrm'])\n const { left, top } = getPosition(xfrmNode, undefined, undefined)\n const { width, height } = getSize(xfrmNode, undefined, undefined)\n\n const diagramWarpObj = await getDiagramNodeContext(node, warpObj)\n const dgmDrwSpArray = getTextByPathList(diagramWarpObj['digramFileContent'], ['p:drawing', 'p:spTree', 'p:sp'])\n const elements = []\n let textList = []\n if (dgmDrwSpArray) {\n const spList = Array.isArray(dgmDrwSpArray) ? dgmDrwSpArray : [dgmDrwSpArray]\n\n for (const item of spList) {\n const el = await processSpNode(item, diagramWarpObj, 'diagramBg')\n if (el) elements.push(el)\n }\n }\n if (diagramWarpObj.diagramContent && diagramWarpObj.diagramContent.data) {\n textList = getSmartArtTextData(diagramWarpObj.diagramContent.data)\n }\n\n return {\n type: 'diagram',\n left,\n top,\n width,\n height,\n elements,\n textList,\n order,\n }\n}\n"],"names":["r","Error","i","Uint8Array","Array","o","Promise","Uint16Array","Uint32Array","t","e","String","_","s","arguments","Object","n","l","Buffer","Date","parseInt","Math","ArrayBuffer","Blob","self","setImmediate","FileReader","u","setTimeout","h","window","TypeError","d","a","Int32Array","y","B","process","c","MessageChannel","Function","globalThis","Symbol","Number","cust_attr_order","RAW_NODE_TAGS","Set","readXmlFile","zip","filename","file","data","simplifyLostLess","children","parentAttributes","out","child","node","kids","txml","RegExp","isNaN","parseFloat","isOoxmlTrue","value","extractFileExtension","eachElement","func","result","getTextByPathList","path","key","angleToDegrees","angle","escapeHtml","text","map","m","toHex","hex","numberToFixed","num","fractionDigits","hueToRgb","t1","t2","hue","applyTint","rgbStr","tintValue","isAlpha","color","tinycolor","cacl_l","getFillType","fillType","createImageData","ref","createMediaData","loadMedia","filePath","warpObj","cacheKey","mode","cache","normalizedPath","cacheItem","fileExt","zipFile","arrayBuffer","mimeType","getMimeType","imgFileExt","pngDataUrl","emfToPngDataUrl","document","bitmap","extractEmfBitmap","view","DataView","offset","recordType","recordSize","parseStretchDibits","offBmiSrc","cbBmiSrc","offBitsSrc","cbBitsSrc","bmiStart","biWidth","biHeight","biBitCount","width","height","bitsStart","bitsData","topDown","pixels","Uint8ClampedArray","bytesPerPixel","rowStride","srcOffset","srcRow","dstOffset","x","srcIdx","canvas","ctx","ImageData","pngBytes","atob","URL","base64ArrayBuffer","b","chunk","encodings","bytes","byteLength","byteRemainder","mainLength","base64","undefined","loadImage","imgPath","loadVideo","videoPath","loadAudio","audioPath","getImageData","imageMode","imageData","getVideoData","videoData","getVideoMode","videoMode","getAudioData","audioData","getAudioMode","audioMode","getPicFill","type","rId","align","alignType","fillRectAttrs","tileAttrs","getPicFillOpacity","aphaModFixNode","opacity","getBgPicFill","bgPr","sorce","picFill","getGradientFill","gsLst","colors","lo_color","getSolidFill","pos","lin","rot","pathType","getPatternFill","pattFill","fgColorNode","bgColorNode","foregroundColor","backgroundColor","getBgGradientFill","phClr","slideMasterContent","grdFill","getSlideBackgroundFill","slideContent","slideLayoutContent","bgRef","background","backgroundType","bgFillTyp","clrMapOvr","sldFill","sldClrMapOvr","gradientFill","patternFill","idx","bgFillLst","sortblAry","bgFillLstTyp","obj","sortByOrder","bgFillLstIdx","trueIdx","clrMap","resolveShapeFillFromNode","source","groupHierarchy","spPr","fillValue","shpFill","groupFill","findFillInGroupHierarchy","useBgFill","bgFill","fillRefNode","getShapeFill","options","candidates","slideLayoutSpNode","slideMasterSpNode","candidate","groupNode","grpSpPr","solidFill","shadeValue","clrNode","cacl_h","cacl_s","lum","getSchemeColorFromTheme","schemeClr","slideLayoutClrOvride","schmClrName","refNode","defBultColorVals","red","green","blue","nameLower","findIndx","name","colorName","colorHex","sat","hsl2rgb","light","g","sysClr","alpha","al_color","hueMod","lumMod","lumOff","satMod","shade","tint","getLineEnd","attrs","lineEnd","getBorder","elType","spPrLineNode","lnRefNode","lineNode","lnIdx","isNoFill","hasFill","hasWidth","borderWidth","hasLineNode","borderColor","gradValue","borderType","strokeDasharray","headEnd","tailEnd","extractChartColors","serNode","schemeClrs","clr","extractChartData","dataMat","innerNode","index","dataRow","colName","rowNames","extractScatterChartData","serNodes","firstSerNode","xData","yData","RATIO_EMUs_Points","RATIO_Inches_Points","getParagraphLevel","lvlIdx","lvlNode","getAlignFromTextNode","lvlStr","algn","pushParagraphStyleNode","styleNodes","styleNode","appendShapeParagraphStyleNodes","shapeNode","lvl","getParagraphStyleNodes","pNode","textBodyNode","slideMasterTextStyles","defaultTextStyle","pPrNode","appendMasterTextParagraphStyleNodes","lvlPath","getParagraphSpacingValue","spacingNode","spcPct","spcPts","getParagraphIndentValue","attrName","val","getInsetAttr","slideNode","layoutNode","masterNode","v","emuToPt","emuStr","getPosition","slideSpNode","off","getSize","ext","oMathToLatex","simplifiedNode","rawNode","latexFormart","latex","ommlNodeToLatex","toArray","getShadow","chdwClrNode","outerShdwAttrs","dir","dist","blurRad","vx","pushStyleNode","getLevelPath","appendShapeStyleNodes","appendMasterTextStyleNodes","getBaseFontStyleNodes","runStyleNode","getFontStyleNodes","getFontAttr","attrValue","containsEastAsian","getFontColorFromStyleNodes","getColorFromNode","getTextNodeValue","genTextBody","spNode","pFontStyle","pNodes","listTypes","rNode","fldNode","brNode","item","mathRuns","getInlineMathRuns","runs","push","order","wrapper","getHorizontalAlign","spacing","getParagraphSpacing","lineSpacing","getLineSpacingValue","spaceBefore","spaceAfter","lnSpcReductionVal","getLnSpcReduction","src","reduction","indent","getParagraphIndent","marginLeft","textIndent","listType","getListType","listLevel","getListLevel","alignStyle","styleText","closedListType","prevStyleInfo","accumulatedText","rNodeItem","processedText","styleInfo","getSpanStyleInfo","genSpanElement","hasLink","linkURL","sz","fontSize","spc","baseline","fontColor","getFontColor","layoutFontStyle","masterFontStyle","fontType","getFontType","isEA","typeface","getFontTypeface","latin","ea","cs","sym","fontSchemeNode","fontBold","fontItalic","fontDecoration","fontDecorationLine","fontSpace","shadow","getFontShadow","getTextShadowFromStyleNodes","txtShadow","blur","subscript","stops","gradientStyle","linkID","getCustomShapePath","custShapType","w","pathLstNode","pathNodes","maxX","maxY","cX","cY","moveToNode","lnToNodes","cubicBezToNodes","quadBezToNodes","arcToNodes","closeNode","multiSapeAry","moveToPtNode","moveToNoPt","spX","spY","lnToPtNode","lnToNoPt","ptX","ptY","cubicBezToPtNodesAry","pts_ary","pt","pt_obj","quadBezToPtNodesAry","arcToNodesAry","arcToNodesAttrs","hR","wR","stAng","swAng","shftX","shftY","arcToPtNode","Infinity","k","endAng","shapeArc","rX","rY","isClose","dData","radians","normalizeToArray","getFontData","fontPath","fontFilename","fontFile","buffer","ttfBytes","convertEOTtoTTF","eotBuffer","eotSize","fontDataSize","version","magicNumber","ttfOffset","ttfMagic","blobObj","SYSTEM_FONT_FALLBACK_MAP","getTableTextColor","tcTxStyle","getTableCellParams","tcNode","thisTblStyle","cellSource","fillColor","rowTxtStyl","rowSpan","colSpan","vMerge","hMerge","anchor","getCelFill","fill","bgFillschemeClr","lin_bottm","lin_top","lin_left","lin_right","borders","increment","condition","getShapePath","shapType","pathData","x1","y1","y2","y3","y4","y5","y6","y7","y8","y9","x2","x3","x4","x5","x6","x7","hc","vc","dx2","ss","g12","g9","g10","g11","g13","g16","dx1","g14","g15","g17","g27","g29","g30","g31","g33","g36","g37","g41","g42","cX1","cX2","cY3","cX4","g24","g28","g32","g25","g34","g35","g38","cY1","cY2","g39","g40","g43","g44","g45","g46","g47","g18","g19","g20","g21","cX3","cY4","g22","g26","c3d4","cd4","wd2","hd2","idy","ib","ang1Dg","ang1","cx","cy","rx","ry","angVal","iDx","il","ir","it","sAdj1_val","sAdj2_val","shpTyp","adjTyp","shapAdjst_ary","adj","sAdj_name","sAdj1","sAdj2","sAdj","shapeSnipRoundRect","adj1","adj2","shapeType","adjType","adjA","adjB","adjC","adjD","rA","rB","rC","rD","shapAdjst","shapAdjst_val","p1x","p1y","p2x","p2y","p3x","p3y","adjst_val","p4x","p4y","cnstVal2","maxAdj","cnstVal1","dy1","shd2","sdx","iwd2","sdy","ihd2","sx1","sx2","sy1","sy2","hf","vf","swd2","svc","sdx1","sdx2","hd4","sx3","sdy1","dx3","sdx3","sy3","sdy2","sx4","sy4","dy2","sx5","wd4","sdy3","sx6","sy5","sy6","dy3","sdx4","sdy4","sx7","sx8","sy7","sy8","dx5","dy5","x8","x9","x10","y10","sdx5","sdx6","sdy5","sdy6","sx9","sx10","sx11","sx12","sy9","sy10","sy11","sy12","dx4","dx6","dx7","dy4","dy6","dy7","x11","x12","x13","x14","y11","y12","y13","y14","sdx7","sdx8","sdy7","sdy8","sx13","sx14","sx15","sx16","sy13","sy14","sy15","sy16","H","longArc","pieVal","piAngle","radiusY","radiusX","startRadians","endRadians","startX","startY","endX","endY","fmla","size","centerX","centerY","dr","outerPath","innerPath","ang","ct","st","dang","drd2","stAng1","stAng2","ct1","st1","n1","stAng1deg","stAng2deg","swAng2deg","outerCircle","slash1","slash2","cnsVal","minWH","maxAdj2","maxAdj1","adj3","istAng","a3","sw11","stRd","istRd","wt1","ht1","wt2","ht2","a2","q1","q3","a1","shapeGear","points","outerRadius","pi2","notches","taperAI","taperAO","toggle","radiusO","radiusI","cnsVal1","cnsVal2","r2","tw","th","rd45","sw","sh","cnstVa3","cnstVa4","g0","g5","g6","ox1","oy1","ox2","oy2","x15","x16","x17","x18","x19","y15","y16","y17","y18","x0","y0","rX1","rY1","rX2","rY2","rY3","getArc","sA","wA","cloudPath","lastPoint","arcParams","arcPath","lastL","coords","dxPos","dyPos","xPos","yPos","ht","wt","g2","g3","g4","g7","g8","x23","x24","x25","g23","cnstVal3","x1_mouth","ch","ch2","ch4","angVal1","pang","enAng","dz","xr","yb","u1","u2","v2","adj4","adj5","adj6","adj7","adj8","baseRect","ly1","ry4","ly2","ry3","ly4","ry2","y2_arc","cnstVal4","cnstVal5","wd8","wd32","of2","dx8","q10","minAdj3","f1","q2","cx1","cx2","q1_h","q5","rh","q8","cx4","q9","cx5","cy1","cy3","q6","cy4","u3","cu3","cy6","max_sAdj2_const","sAdj2_val2","maxAdj3","aw2","dh2","ah","bw","bh","maxAdj4","bd","bd3","bd2","minAdj5","a5","ssd8","ssd16","ssd32","a4","aw","q7","q11","dx","dh","swAngDeg","dang2Deg","dang2","cd2","dy","swAngDg","swAng2Dg","swAng2","stAngDg","mswAngDg","mswAng","swAng2dg","stAng3","stAng2dg","stAng3dg","angVal2","cadj2","crAng","xadj2","len","bhw","lx","ly","dlx","drx","dly","dry","cnstVal6","ma3h","ma3w","yg","rad","mAdj2","sa","ca","ta","dl","lM","xM","yM","dxAM","dyAM","xA","yA","xB","yB","yC","xD","xE","yG","yH","yI","dVal","match","command","newX","newY","c1x","c1y","newC1X","newC1Y","hd6","ad1","alfa","dx0","yF","xF","yE","xP1","xP2","dy22","rdAngVal1","rdAngVal2","rdAngVal3","thh","th2","rw1","rh1","rw2","rh2","rw3","rh3","wtH","htH","dxH","dyH","xH","rI","u12","u15","u18","maxAng","ptAng","wtA","htA","dxA","dyA","xG","rO","x1O","y1O","x2O","y2O","dxO","dyO","dO","DO","sdelO","sdyO","dxF1","dxF2","dyF1","dyF2","q22","dxF","dyF","x1I","y1I","x2I","y2I","dxI","dyI","dI","DI","sdelI","dxC1","dxC2","dyC1","dyC2","v22","dxC","dyC","xC","ist0","isw1","p5","en0","sw0","en2","strtAng","endAngVal","stiAng","ediAng","iswAng","minAng","dxE","dyE","dxD","dyD","istAng0","iswAng0","stAng0","findTransitionNode","content","rootElement","transitionNode","loadDiagramFile","transformDrawing","JSON","getDiagramNodeContext","relIds","diagramContent","digramFileContent","diagramResObj","diagramDataTarget","diagramLayoutTarget","diagramQuickStyleTarget","diagramColorsTarget","drawingRelId","getDiagramDrawingRelId","dataContent","extNodes","extNode","relId","drawingTarget","drawingName","diagramResFileName","digramResContent","relationshipArray","relationshipArrayItem","relTarget","REL_TYPE_NAMESPACES","getRelTypeName","namespace","parse","fileBytes","slides","loadedImages","loadedVideos","loadedAudios","xmlCache","parseOptions","File","JSZip","filesInfo","getContentTypes","getSlideInfo","themeContent","themeColors","getTheme","usedFonts","getUsedFonts","singleSlide","processSingleSlide","subObj","ContentTypesJson","slidesLocArray","slideLayoutsLocArray","sortSlideXml","p1","p2","embeddedFontList","embeddedFonts","relsContent","relsMap","relItems","rel","id","target","FONT_VARIANTS","embeddedFont","fontBlob","variant","variantNode","rid","getFontFallback","fontName","lowerName","guessGenericFamily","sldSzAttrs","themeURI","preResContent","relationshipItem","masterResContent","masterRelationshipArray","themeFilename","clrScheme","readXmlFileCached","sldFileName","resName","resContent","noteFilename","layoutFilename","masterFilename","slideResObj","layoutResObj","masterResObj","themeResObj","relType","note","getNote","noteContent","spNodes","phType","textBody","p","pPr","rNodes","slideLayoutTables","indexNodes","slideLayoutResFilename","slideLayoutResContent","slideMasterTables","slideMasterResFilename","slideMasterResContent","currentThemeContent","themeName","themeResFileName","themeResContent","tableStyles","nodes","layoutElements","getLayoutElements","elements","nodeKey","ret","processNodesInSlide","transition","parseTransition","durationFound","durRegex","effectRegex","effectNode","effectAttrs","showMasterSpOnSlide","hideBackground","getHyperlinkFromCNvPr","cNvPr","hlinkClick","linkId","res","nodesSldLayout","nodesSldMaster","showMasterSp","keys","spTreeNode","idTable","idxTable","typeTable","targetNode","targetNodeItem","nvSpPrNode","nodeValue","json","processSpNode","processCxnSpNode","processPicNode","processGraphicFrameNode","processGroupSpNode","processMathNode","choice","fallback","xfrmNode","top","left","oMath","findOMath","results","blipFill","sp","parentGroupHierarchy","chx","chy","chcx","chcy","isFlipV","isFlipH","rotate","ws","hs","currentGroupHierarchy","transformGroupedElement","element","offsetX","offsetY","normalizedRotate","elementRotate","isUniformScale","shouldSwapDimensions","nextCenterX","nextCenterY","processedElements","processNestedGroupElements","depth","processed","link","genShape","txtRotate","xfrmList","slideXfrmNode","slideLayoutXfrmNode","slideMasterXfrmNode","keypoints","pathViewBox","txtXframeNode","txtXframeRot","outerShdwNode","vAlign","isVertical","textDirection","getTextDirection","direction","wrap","autoFit","getTextAutoFit","checkBodyPr","bodyPr","wrapText","fontScale","nodeCheck","layoutCheck","masterCheck","textInset","getTextInsets","nodeBodyPr","layoutBodyPr","masterBodyPr","li","ti","ri","bi","isHasValidText","hasValidText","htmlString","DOMParser","doc","parser","customShapeData","isStrokeOnlyCustomGeometry","pathNodeList","shapePath","isStrokeOnlyPresetShape","STROKE_ONLY_PRESET_SHAPE_TYPES","shapeData","resObj","videoFile","videoFileExt","audioFile","audioFileExt","rect","imgName","rotateNode","videoNode","isVdeoLink","vdoFile","urlRegex","audioNode","srcRectAttrs","prstGeom","custGeom","filters","getPicFilters","aBlipNode","extLstNode","imgEffects","imgLayerNode","effect","satAttr","brightAttr","contrastAttr","amountAttr","amount","tempAttr","identifiedShape","identifyShape","commands","pathWidth","pathHeight","analysis","pathLst","extractPathCommands","moveTo","lineToList","lnTo","cubicList","cubic","pts","arcList","arc","quadList","quad","matchShape","lineCount","curveCount","isClosed","vertices","hasCurves","isCircular","matchPolygon","unique","uniqueVertices","vertexCount","matchQuadrilateral","edges","avgLength","slope0","slope2","slope1","slope3","parallel13","parallel02","isRectangle","edge02Similar","edge13Similar","e1","e2","dotProduct","sum","baseShape","matchPolygonByLineCount","cmd","checkIfCircular","bezierCommands","endpoints","hasTop","hasBottom","hasLeft","hasRight","shapeDataJson","imageDataJson","genTable","genChart","genDiagram","oleObjNode","tableNode","getTblPr","getColsGrid","colWidths","colWidth","firstRowAttr","firstColAttr","lastRowAttr","lastColAttr","bandRowAttr","bandColAttr","tblStylAttrObj","tbleStyleId","tbleStylList","tblStyl","tblBorderStyl","tbl_bgcolor","tbl_bgFillschemeClr","trNodes","rowHeights","trNode","rowHeight","getTableRowParams","local_fillColor","local_fontColor","tcNodes","tr","j","a_sorce","aBandNode","cell","td","actualTableWidth","refName","chart","getChartInfo","plotArea","diagramWarpObj","dgmDrwSpArray","textList","el","getSmartArtTextData","ptLst","nodeText","paragraphs","cleanText"],"mappings":"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,IAAK,OACL,IAAK,cACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,gBACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,eACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,uBACL,IAAK,IACL,IAAK,oBACL,IAAK,mBACL,IAAK,mBACL,IAAK,uBACL,IAAK,QACL,IAAK,QACL,IAAK,mBACL,IAAK,iBACL,IAAK,wBACL,IAAK,yBACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,6BACL,IAAK,0BACL,IAAK,IACL,IAAK,IACL,IAAK,wBACL,IAAK,wBACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,wBACL,IAAK,IACL,IAAK,IACL,IAAK,yBACL,IAAK,IACL,IAAK,IACL,IAAK,qBACL,IAAK,IACL,IAAK,qBACL,IAAK,IACL,IAAK,wBACL,IAAK,IACL,IAAK,0BACL,IAAK,sBACL,IAAK,IACL,IAAK,sBACL,IAAK,wBACL,IAAK,0BACL,IAAK,0BACL,IAAK,+BACL,IAAK,iCACL,IAAK,6BACL,IAAK,8BACL,IAAK,2CACL,IAAK,wBACL,IAAK,uBACL,IAAK,wBACL,IAAK,wBACL,IAAK,6BACL,IAAK,uBACL,IAAK,sBACL,IAAK,wBACL,IAAK,uBACL,IAAK,wBACL,IAAK,yBACL,IAAK,qBACL,IAAK,qBACL,IAAK,qBACL,IAAK,IACL,IAAK,qBACL,IAAK,sBACL,IAAK,2BACL,IAAK,wBACL,IAAK,sBACL,IAAK,0BACL,IAAK,yBACL,IAAK,sBACL,IAAK,sBACL,IAAK,wBACL,IAAK,6BACL,IAAK,kCACL,IAAK,SACL,IAAK,iCACL,IAAK,+BACL,IAAK,2BACL,IAAK,YACL,IAAK,sBACL,IAAK,wBACL,KAAM,2BACN,KAAM,yBACN,KAAM,0BACN,KAAM,8BACN,KAAM,YACN,KAAM,UACN,KAAM,WACN,KAAM,YACN,KAAM,UACN,KAAM,WACN,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,WACN,KAAM,WACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,YACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,UACN,KAAM,SACN,KAAM,SACN,KAAM,aACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,UACN,KAAM,UACN,KAAM,YACN,KAAM,aACN,KAAM,WACN,KAAM,aACN,KAAM,YACN,KAAM,UACN,KAAM,UACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,UACN,KAAM,SACN,KAAM,SACN,KAAM,aACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,SACN,KAAM,UACN,KAAM,UACN,KAAM,YACN,KAAM,aACN,KAAM,WACN,KAAM,aACN,KAAM,YACN,KAAM,UACN,KAAM,UACN,KAAM,YACN,KAAM,UACN,KAAM,WACN,KAAM,YACN,KAAM,UACN,KAAM,WACN,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,WACN,KAAM,WACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,YACN,KAAM,sBACN,KAAM,sBACN,KAAM,WACN,KAAM,WACN,KAAM,qBACN,KAAM,qBACN,KAAM,qBACN,KAAM,qBACN,KAAM,wBACN,KAAM,wBACN,KAAM,YACN,KAAM,YACN,KAAM,wBACN,KAAM,wBACN,KAAM,oBACN,KAAM,oBACN,KAAM,oBACN,KAAM,oBACN,KAAM,YACN,KAAM,YACN,KAAM,WACN,KAAM,WACN,KAAM,cACN,KAAM,cACN,KAAM,mBACN,KAAM,mBACN,KAAM,yBACN,KAAM,yBACN,KAAM,2BACN,KAAM,2BACN,KAAM,mBACN,KAAM,mBACN,KAAM,sBACN,KAAM,sBACN,KAAM,0BACN,KAAM,iCACN,KAAM,yBACN,KAAM,iBACN,KAAM,iBACN,KAAM,aACN,KAAM,aACN,KAAM,WACN,KAAM,WACN,KAAM,aACN,KAAM,aACN,KAAM,WACN,KAAM,WACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,UACN,KAAM,UACN,KAAM,WACN,KAAM,WACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,SACN,KAAM,SACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,cACN,KAAM,cACN,KAAM,cACN,KAAM,cACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,gBACN,KAAM,gBACN,KAAM,gBACN,KAAM,aACN,KAAM,aACN,KAAM,WACN,KAAM,WACN,KAAM,YACN,KAAM,YACN,KAAM,WACN,KAAM,WACN,KAAM,cACN,KAAM,cACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,UACN,KAAM,UACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,gBACN,KAAM,gBACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,cACN,KAAM,cACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,eACN,KAAM,eACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,YACN,KAAM,YACN,KAAM,cACN,KAAM,cACN,KAAM,gBACN,KAAM,gBACN,KAAM,WACN,KAAM,WACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,WACN,KAAM,SACN,KAAM,WACN,KAAM,SACN,KAAM,mBACN,KAAM,mBACN,KAAM,oBACN,KAAM,IACN,KAAM,MACN,KAAM,MACN,KAAM,gBACN,KAAM,qBACN,KAAM,IACN,KAAM,iBACN,KAAM,IACN,KAAM,eACN,KAAM,eACN,KAAM,eACN,KAAM,uBACN,KAAM,kBACN,KAAM,mBACN,KAAM,mBACN,KAAM,qBACN,KAAM,sBACN,KAAM,iBACN,KAAM,eACN,KAAM,kBACN,KAAM,eACN,KAAM,IACN,KAAM,KACN,KAAM,iBACN,KAAM,oBACN,KAAM,uBACN,KAAM,IACN,KAAM,KACN,KAAM,MACN,KAAM,4BACN,KAAM,kBACN,KAAM,mBACN,KAAM,sBACN,KAAM,oBACN,KAAM,wBACN,KAAM,yBACN,KAAM,iBACN,KAAM,OACN,KAAM,mBACN,KAAM,gBACN,KAAM,GACN,KAAM,sBACN,KAAM,aACN,KAAM,cACN,KAAM,YACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,4BACN,KAAM,gBACN,KAAM,yBACN,KAAM,kBACN,KAAM,6BACN,KAAM,8BACN,KAAM,4BACN,KAAM,kBACN,KAAM,uBACN,KAAM,6BACN,KAAM,8BACN,KAAM,6BACN,KAAM,sBACN,KAAM,4BACN,KAAM,eACN,KAAM,iBACN,KAAM,qBACN,KAAM,4BACN,KAAM,4BACN,KAAM,6BACN,KAAM,8BACN,KAAM,4BACN,KAAM,eACN,KAAM,oBACN,KAAM,kBACN,KAAM,4BACN,KAAM,YACN,KAAM,YACN,KAAM,8BACN,KAAM,IACN,KAAM,SACN,KAAM,6BACN,KAAM,8BACN,KAAM,kBACN,KAAM,kBACN,KAAM,6BACN,KAAM,6BACN,KAAM,6BACN,KAAM,kBACN,KAAM,wBACN,KAAM,uBACN,KAAM,wBACN,KAAM,yBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,mBACN,KAAM,kBACN,KAAM,gBACN,KAAM,mBACN,KAAM,kBACN,KAAM,iCACN,KAAM,8BACN,KAAM,0BACN,KAAM,0BACN,KAAM,0BACN,KAAM,0BACN,KAAM,6BACN,KAAM,8BACN,KAAM,gCACN,KAAM,iCACN,KAAM,mCACN,KAAM,oCACN,KAAM,gCACN,KAAM,iCACN,KAAM,yBACN,KAAM,gCACN,KAAM,iCACN,KAAM,gCACN,KAAM,iCACN,KAAM,sCACN,KAAM,kCACN,KAAM,sBACN,KAAM,sBACN,KAAM,iCACN,KAAM,kCACN,KAAM,kCACN,KAAM,mCACN,KAAM,gCACN,KAAM,kCACN,KAAM,iCACN,KAAM,gCACN,KAAM,iCACN,KAAM,mCACN,KAAM,mCACN,KAAM,kCACN,KAAM,kCACN,KAAM,iCACN,KAAM,kCACN,KAAM,iCACN,KAAM,6BACN,KAAM,mCACN,KAAM,iCACN,KAAM,oCACN,KAAM,oCACN,KAAM,6BACN,KAAM,kCACN,KAAM,8BACN,KAAM,4BACN,KAAM,0BACN,KAAM,6BACN,KAAM,4BACN,KAAM,iCACN,KAAM,8BACN,KAAM,6BACN,KAAM,8BACN,KAAM,kCACN,KAAM,mCACN,KAAM,yBACN,KAAM,6BACN,KAAM,0BACN,KAAM,yBACN,KAAM,0BACN,KAAM,6BACN,KAAM,wBACN,KAAM,wBACN,KAAM,qBACN,KAAM,wBACN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,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,0CACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,KAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,6BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,4B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"}