From 0d79b139c3143832e8c3533ae8045d382c076c46 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Fri, 10 Jun 2022 14:07:24 +0800 Subject: [PATCH 01/63] vault backup: 2022-06-10 14:07:24 Affected files: .obsidian/workspace --- .obsidian/workspace | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 615a856..e0e330f 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -7,8 +7,12 @@ "id": "cfe19fa2de06a1e6", "type": "leaf", "state": { - "type": "empty", - "state": {} + "type": "markdown", + "state": { + "file": "00. TOP/01. TODO.md", + "mode": "preview", + "source": true + } } } ], @@ -65,6 +69,7 @@ "state": { "type": "backlink", "state": { + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -91,7 +96,9 @@ "type": "leaf", "state": { "type": "outline", - "state": {} + "state": { + "file": "00. TOP/01. TODO.md" + } } } ] @@ -102,5 +109,7 @@ "collapsed": true }, "active": "cfe19fa2de06a1e6", - "lastOpenFiles": [] + "lastOpenFiles": [ + "00. TOP/01. TODO.md" + ] } \ No newline at end of file From 4c3ec3a809c92554cf9d94a8c1531b67e5c8b611 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 16:11:08 +0800 Subject: [PATCH 02/63] vault backup: 2022-06-12 16:11:08 Affected files: .obsidian/workspace 00. TOP/01. TODO.md --- .obsidian/workspace | 6 ++++-- 00. TOP/01. TODO.md | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index e0e330f..b7e25ea 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "preview", + "mode": "source", "source": true } } @@ -110,6 +110,8 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ - "00. TOP/01. TODO.md" + "00. TOP/01. TODO.md", + "00. TOP/00. Inbox.md", + "01. Daily/2022-06-06(週一).md" ] } \ No newline at end of file diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index e71bcb0..c7dde58 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -19,7 +19,7 @@ - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [x] List max fps of all resolution of all format on side bar of section 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - TestGpsDiff - - [ ] List all format 🛫 2022-06-06 📅 2022-06-10 + - [x] List all format 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-10 # All TODOs ```tasks From 2a46f2a6caf8958bf307ef839a330ce7ada25620 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 16:21:05 +0800 Subject: [PATCH 03/63] vault backup: 2022-06-12 16:21:05 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/community-plugins.json .obsidian/plugins/oz-image-plugin/main.js .obsidian/plugins/oz-image-plugin/manifest.json .obsidian/plugins/oz-image-plugin/styles.css .obsidian/workspace 02. PARA/03. Resources(資源)/git/submodule.md attachments/20220608152709_git_submodule.png --- .obsidian/community-plugins.json | 3 +- .obsidian/plugins/oz-image-plugin/main.js | 329 ++++++++++++++++++ .../plugins/oz-image-plugin/manifest.json | 10 + .obsidian/plugins/oz-image-plugin/styles.css | 270 ++++++++++++++ .obsidian/workspace | 46 ++- .../03. Resources(資源)/git/submodule.md | 2 +- ...9.png => 20220608152709_git_submodule.png} | Bin 7 files changed, 641 insertions(+), 19 deletions(-) create mode 100644 .obsidian/plugins/oz-image-plugin/main.js create mode 100644 .obsidian/plugins/oz-image-plugin/manifest.json create mode 100644 .obsidian/plugins/oz-image-plugin/styles.css rename attachments/{Pasted image 20220608152709.png => 20220608152709_git_submodule.png} (100%) diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index 9d99a12..85eab1f 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -5,5 +5,6 @@ "todoist-sync-plugin", "obsidian-columns", "obsidian-tasks-plugin", - "obsidian-git" + "obsidian-git", + "oz-image-plugin" ] \ No newline at end of file diff --git a/.obsidian/plugins/oz-image-plugin/main.js b/.obsidian/plugins/oz-image-plugin/main.js new file mode 100644 index 0000000..6bb1b96 --- /dev/null +++ b/.obsidian/plugins/oz-image-plugin/main.js @@ -0,0 +1,329 @@ +/* +THIS IS A GENERATED/BUNDLED FILE +If you want to view the source, visit the plugins github repository +https://github.com/ozntel/oz-image-in-editor-obsidian +*/ + +var Ef=Object.create;var lr=Object.defineProperty;var Tf=Object.getOwnPropertyDescriptor;var Mf=Object.getOwnPropertyNames,Wu=Object.getOwnPropertySymbols,Cf=Object.getPrototypeOf,Gu=Object.prototype.hasOwnProperty,If=Object.prototype.propertyIsEnumerable;var Zu=(e,r,t)=>r in e?lr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,oa=(e,r)=>{for(var t in r||(r={}))Gu.call(r,t)&&Zu(e,t,r[t]);if(Wu)for(var t of Wu(r))If.call(r,t)&&Zu(e,t,r[t]);return e};var Yu=e=>lr(e,"__esModule",{value:!0});var A=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Lf=(e,r)=>{Yu(e);for(var t in r)lr(e,t,{get:r[t],enumerable:!0})},Rf=(e,r,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Mf(r))!Gu.call(e,n)&&n!=="default"&&lr(e,n,{get:()=>r[n],enumerable:!(t=Tf(r,n))||t.enumerable});return e},j=e=>Rf(Yu(lr(e!=null?Ef(Cf(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var X=(e,r,t)=>new Promise((n,i)=>{var u=f=>{try{o(t.next(f))}catch(g){i(g)}},d=f=>{try{o(t.throw(f))}catch(g){i(g)}},o=f=>f.done?n(f.value):Promise.resolve(f.value).then(u,d);o((t=t.apply(e,r)).next())});var gs=A((hs,gn)=>{(function(){function e(a){"use strict";var l={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:`Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as
(GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex:
foo
",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `\xAB\xAB\xAB` and `\xBB\xBB\xBB` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}};if(a===!1)return JSON.parse(JSON.stringify(l));var s={};for(var c in l)l.hasOwnProperty(c)&&(s[c]=l[c].defaultValue);return s}function r(){"use strict";var a=e(!0),l={};for(var s in a)a.hasOwnProperty(s)&&(l[s]=!0);return l}var t={},n={},i={},u=e(!0),d="vanilla",o={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:r()};t.helper={},t.extensions={},t.setOption=function(a,l){"use strict";return u[a]=l,this},t.getOption=function(a){"use strict";return u[a]},t.getOptions=function(){"use strict";return u},t.resetOptions=function(){"use strict";u=e(!0)},t.setFlavor=function(a){"use strict";if(!o.hasOwnProperty(a))throw Error(a+" flavor was not found");t.resetOptions();var l=o[a];d=a;for(var s in l)l.hasOwnProperty(s)&&(u[s]=l[s])},t.getFlavor=function(){"use strict";return d},t.getFlavorOptions=function(a){"use strict";if(o.hasOwnProperty(a))return o[a]},t.getDefaultOptions=function(a){"use strict";return e(a)},t.subParser=function(a,l){"use strict";if(t.helper.isString(a))if(typeof l!="undefined")n[a]=l;else{if(n.hasOwnProperty(a))return n[a];throw Error("SubParser named "+a+" not registered!")}},t.extension=function(a,l){"use strict";if(!t.helper.isString(a))throw Error("Extension 'name' must be a string");if(a=t.helper.stdExtName(a),t.helper.isUndefined(l)){if(!i.hasOwnProperty(a))throw Error("Extension named "+a+" is not registered!");return i[a]}else{typeof l=="function"&&(l=l()),t.helper.isArray(l)||(l=[l]);var s=f(l,a);if(s.valid)i[a]=l;else throw Error(s.error)}},t.getAllExtensions=function(){"use strict";return i},t.removeExtension=function(a){"use strict";delete i[a]},t.resetExtensions=function(){"use strict";i={}};function f(a,l){"use strict";var s=l?"Error in "+l+" extension->":"Error in unnamed extension",c={valid:!0,error:""};t.helper.isArray(a)||(a=[a]);for(var h=0;h").replace(/&/g,"&")};var M=function(a,l,s,c){"use strict";var h=c||"",_=h.indexOf("g")>-1,m=new RegExp(l+"|"+s,"g"+h.replace(/g/g,"")),b=new RegExp(l,h.replace(/g/g,"")),D=[],L,x,C,p,T;do for(L=0;C=m.exec(a);)if(b.test(C[0]))L++||(x=m.lastIndex,p=x-C[0].length);else if(L&&!--L){T=C.index+C[0].length;var P={left:{start:p,end:x},match:{start:x,end:C.index},right:{start:C.index,end:T},wholeMatch:{start:p,end:T}};if(D.push(P),!_)return D}while(L&&(m.lastIndex=x));return D};t.helper.matchRecursiveRegExp=function(a,l,s,c){"use strict";for(var h=M(a,l,s,c),_=[],m=0;m0){var L=[];m[0].wholeMatch.start!==0&&L.push(a.slice(0,m[0].wholeMatch.start));for(var x=0;x=0?c+(s||0):c},t.helper.splitAtIndex=function(a,l){"use strict";if(!t.helper.isString(a))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[a.substring(0,l),a.substring(l)]},t.helper.encodeEmailAddress=function(a){"use strict";var l=[function(s){return"&#"+s.charCodeAt(0)+";"},function(s){return"&#x"+s.charCodeAt(0).toString(16)+";"},function(s){return s}];return a=a.replace(/./g,function(s){if(s==="@")s=l[Math.floor(Math.random()*2)](s);else{var c=Math.random();s=c>.9?l[2](s):c>.45?l[1](s):l[0](s)}return s}),a},t.helper.padEnd=function(l,s,c){"use strict";return s=s>>0,c=String(c||" "),l.length>s?String(l):(s=s-l.length,s>c.length&&(c+=c.repeat(s/c.length)),String(l)+c.slice(0,s))},typeof console=="undefined"&&(console={warn:function(a){"use strict";alert(a)},log:function(a){"use strict";alert(a)},error:function(a){"use strict";throw a}}),t.helper.regexes={asteriskDashAndColon:/([*_:~])/g},t.helper.emojis={"+1":"\u{1F44D}","-1":"\u{1F44E}","100":"\u{1F4AF}","1234":"\u{1F522}","1st_place_medal":"\u{1F947}","2nd_place_medal":"\u{1F948}","3rd_place_medal":"\u{1F949}","8ball":"\u{1F3B1}",a:"\u{1F170}\uFE0F",ab:"\u{1F18E}",abc:"\u{1F524}",abcd:"\u{1F521}",accept:"\u{1F251}",aerial_tramway:"\u{1F6A1}",airplane:"\u2708\uFE0F",alarm_clock:"\u23F0",alembic:"\u2697\uFE0F",alien:"\u{1F47D}",ambulance:"\u{1F691}",amphora:"\u{1F3FA}",anchor:"\u2693\uFE0F",angel:"\u{1F47C}",anger:"\u{1F4A2}",angry:"\u{1F620}",anguished:"\u{1F627}",ant:"\u{1F41C}",apple:"\u{1F34E}",aquarius:"\u2652\uFE0F",aries:"\u2648\uFE0F",arrow_backward:"\u25C0\uFE0F",arrow_double_down:"\u23EC",arrow_double_up:"\u23EB",arrow_down:"\u2B07\uFE0F",arrow_down_small:"\u{1F53D}",arrow_forward:"\u25B6\uFE0F",arrow_heading_down:"\u2935\uFE0F",arrow_heading_up:"\u2934\uFE0F",arrow_left:"\u2B05\uFE0F",arrow_lower_left:"\u2199\uFE0F",arrow_lower_right:"\u2198\uFE0F",arrow_right:"\u27A1\uFE0F",arrow_right_hook:"\u21AA\uFE0F",arrow_up:"\u2B06\uFE0F",arrow_up_down:"\u2195\uFE0F",arrow_up_small:"\u{1F53C}",arrow_upper_left:"\u2196\uFE0F",arrow_upper_right:"\u2197\uFE0F",arrows_clockwise:"\u{1F503}",arrows_counterclockwise:"\u{1F504}",art:"\u{1F3A8}",articulated_lorry:"\u{1F69B}",artificial_satellite:"\u{1F6F0}",astonished:"\u{1F632}",athletic_shoe:"\u{1F45F}",atm:"\u{1F3E7}",atom_symbol:"\u269B\uFE0F",avocado:"\u{1F951}",b:"\u{1F171}\uFE0F",baby:"\u{1F476}",baby_bottle:"\u{1F37C}",baby_chick:"\u{1F424}",baby_symbol:"\u{1F6BC}",back:"\u{1F519}",bacon:"\u{1F953}",badminton:"\u{1F3F8}",baggage_claim:"\u{1F6C4}",baguette_bread:"\u{1F956}",balance_scale:"\u2696\uFE0F",balloon:"\u{1F388}",ballot_box:"\u{1F5F3}",ballot_box_with_check:"\u2611\uFE0F",bamboo:"\u{1F38D}",banana:"\u{1F34C}",bangbang:"\u203C\uFE0F",bank:"\u{1F3E6}",bar_chart:"\u{1F4CA}",barber:"\u{1F488}",baseball:"\u26BE\uFE0F",basketball:"\u{1F3C0}",basketball_man:"\u26F9\uFE0F",basketball_woman:"\u26F9\uFE0F‍\u2640\uFE0F",bat:"\u{1F987}",bath:"\u{1F6C0}",bathtub:"\u{1F6C1}",battery:"\u{1F50B}",beach_umbrella:"\u{1F3D6}",bear:"\u{1F43B}",bed:"\u{1F6CF}",bee:"\u{1F41D}",beer:"\u{1F37A}",beers:"\u{1F37B}",beetle:"\u{1F41E}",beginner:"\u{1F530}",bell:"\u{1F514}",bellhop_bell:"\u{1F6CE}",bento:"\u{1F371}",biking_man:"\u{1F6B4}",bike:"\u{1F6B2}",biking_woman:"\u{1F6B4}‍\u2640\uFE0F",bikini:"\u{1F459}",biohazard:"\u2623\uFE0F",bird:"\u{1F426}",birthday:"\u{1F382}",black_circle:"\u26AB\uFE0F",black_flag:"\u{1F3F4}",black_heart:"\u{1F5A4}",black_joker:"\u{1F0CF}",black_large_square:"\u2B1B\uFE0F",black_medium_small_square:"\u25FE\uFE0F",black_medium_square:"\u25FC\uFE0F",black_nib:"\u2712\uFE0F",black_small_square:"\u25AA\uFE0F",black_square_button:"\u{1F532}",blonde_man:"\u{1F471}",blonde_woman:"\u{1F471}‍\u2640\uFE0F",blossom:"\u{1F33C}",blowfish:"\u{1F421}",blue_book:"\u{1F4D8}",blue_car:"\u{1F699}",blue_heart:"\u{1F499}",blush:"\u{1F60A}",boar:"\u{1F417}",boat:"\u26F5\uFE0F",bomb:"\u{1F4A3}",book:"\u{1F4D6}",bookmark:"\u{1F516}",bookmark_tabs:"\u{1F4D1}",books:"\u{1F4DA}",boom:"\u{1F4A5}",boot:"\u{1F462}",bouquet:"\u{1F490}",bowing_man:"\u{1F647}",bow_and_arrow:"\u{1F3F9}",bowing_woman:"\u{1F647}‍\u2640\uFE0F",bowling:"\u{1F3B3}",boxing_glove:"\u{1F94A}",boy:"\u{1F466}",bread:"\u{1F35E}",bride_with_veil:"\u{1F470}",bridge_at_night:"\u{1F309}",briefcase:"\u{1F4BC}",broken_heart:"\u{1F494}",bug:"\u{1F41B}",building_construction:"\u{1F3D7}",bulb:"\u{1F4A1}",bullettrain_front:"\u{1F685}",bullettrain_side:"\u{1F684}",burrito:"\u{1F32F}",bus:"\u{1F68C}",business_suit_levitating:"\u{1F574}",busstop:"\u{1F68F}",bust_in_silhouette:"\u{1F464}",busts_in_silhouette:"\u{1F465}",butterfly:"\u{1F98B}",cactus:"\u{1F335}",cake:"\u{1F370}",calendar:"\u{1F4C6}",call_me_hand:"\u{1F919}",calling:"\u{1F4F2}",camel:"\u{1F42B}",camera:"\u{1F4F7}",camera_flash:"\u{1F4F8}",camping:"\u{1F3D5}",cancer:"\u264B\uFE0F",candle:"\u{1F56F}",candy:"\u{1F36C}",canoe:"\u{1F6F6}",capital_abcd:"\u{1F520}",capricorn:"\u2651\uFE0F",car:"\u{1F697}",card_file_box:"\u{1F5C3}",card_index:"\u{1F4C7}",card_index_dividers:"\u{1F5C2}",carousel_horse:"\u{1F3A0}",carrot:"\u{1F955}",cat:"\u{1F431}",cat2:"\u{1F408}",cd:"\u{1F4BF}",chains:"\u26D3",champagne:"\u{1F37E}",chart:"\u{1F4B9}",chart_with_downwards_trend:"\u{1F4C9}",chart_with_upwards_trend:"\u{1F4C8}",checkered_flag:"\u{1F3C1}",cheese:"\u{1F9C0}",cherries:"\u{1F352}",cherry_blossom:"\u{1F338}",chestnut:"\u{1F330}",chicken:"\u{1F414}",children_crossing:"\u{1F6B8}",chipmunk:"\u{1F43F}",chocolate_bar:"\u{1F36B}",christmas_tree:"\u{1F384}",church:"\u26EA\uFE0F",cinema:"\u{1F3A6}",circus_tent:"\u{1F3AA}",city_sunrise:"\u{1F307}",city_sunset:"\u{1F306}",cityscape:"\u{1F3D9}",cl:"\u{1F191}",clamp:"\u{1F5DC}",clap:"\u{1F44F}",clapper:"\u{1F3AC}",classical_building:"\u{1F3DB}",clinking_glasses:"\u{1F942}",clipboard:"\u{1F4CB}",clock1:"\u{1F550}",clock10:"\u{1F559}",clock1030:"\u{1F565}",clock11:"\u{1F55A}",clock1130:"\u{1F566}",clock12:"\u{1F55B}",clock1230:"\u{1F567}",clock130:"\u{1F55C}",clock2:"\u{1F551}",clock230:"\u{1F55D}",clock3:"\u{1F552}",clock330:"\u{1F55E}",clock4:"\u{1F553}",clock430:"\u{1F55F}",clock5:"\u{1F554}",clock530:"\u{1F560}",clock6:"\u{1F555}",clock630:"\u{1F561}",clock7:"\u{1F556}",clock730:"\u{1F562}",clock8:"\u{1F557}",clock830:"\u{1F563}",clock9:"\u{1F558}",clock930:"\u{1F564}",closed_book:"\u{1F4D5}",closed_lock_with_key:"\u{1F510}",closed_umbrella:"\u{1F302}",cloud:"\u2601\uFE0F",cloud_with_lightning:"\u{1F329}",cloud_with_lightning_and_rain:"\u26C8",cloud_with_rain:"\u{1F327}",cloud_with_snow:"\u{1F328}",clown_face:"\u{1F921}",clubs:"\u2663\uFE0F",cocktail:"\u{1F378}",coffee:"\u2615\uFE0F",coffin:"\u26B0\uFE0F",cold_sweat:"\u{1F630}",comet:"\u2604\uFE0F",computer:"\u{1F4BB}",computer_mouse:"\u{1F5B1}",confetti_ball:"\u{1F38A}",confounded:"\u{1F616}",confused:"\u{1F615}",congratulations:"\u3297\uFE0F",construction:"\u{1F6A7}",construction_worker_man:"\u{1F477}",construction_worker_woman:"\u{1F477}‍\u2640\uFE0F",control_knobs:"\u{1F39B}",convenience_store:"\u{1F3EA}",cookie:"\u{1F36A}",cool:"\u{1F192}",policeman:"\u{1F46E}",copyright:"\xA9\uFE0F",corn:"\u{1F33D}",couch_and_lamp:"\u{1F6CB}",couple:"\u{1F46B}",couple_with_heart_woman_man:"\u{1F491}",couple_with_heart_man_man:"\u{1F468}‍\u2764\uFE0F‍\u{1F468}",couple_with_heart_woman_woman:"\u{1F469}‍\u2764\uFE0F‍\u{1F469}",couplekiss_man_man:"\u{1F468}‍\u2764\uFE0F‍\u{1F48B}‍\u{1F468}",couplekiss_man_woman:"\u{1F48F}",couplekiss_woman_woman:"\u{1F469}‍\u2764\uFE0F‍\u{1F48B}‍\u{1F469}",cow:"\u{1F42E}",cow2:"\u{1F404}",cowboy_hat_face:"\u{1F920}",crab:"\u{1F980}",crayon:"\u{1F58D}",credit_card:"\u{1F4B3}",crescent_moon:"\u{1F319}",cricket:"\u{1F3CF}",crocodile:"\u{1F40A}",croissant:"\u{1F950}",crossed_fingers:"\u{1F91E}",crossed_flags:"\u{1F38C}",crossed_swords:"\u2694\uFE0F",crown:"\u{1F451}",cry:"\u{1F622}",crying_cat_face:"\u{1F63F}",crystal_ball:"\u{1F52E}",cucumber:"\u{1F952}",cupid:"\u{1F498}",curly_loop:"\u27B0",currency_exchange:"\u{1F4B1}",curry:"\u{1F35B}",custard:"\u{1F36E}",customs:"\u{1F6C3}",cyclone:"\u{1F300}",dagger:"\u{1F5E1}",dancer:"\u{1F483}",dancing_women:"\u{1F46F}",dancing_men:"\u{1F46F}‍\u2642\uFE0F",dango:"\u{1F361}",dark_sunglasses:"\u{1F576}",dart:"\u{1F3AF}",dash:"\u{1F4A8}",date:"\u{1F4C5}",deciduous_tree:"\u{1F333}",deer:"\u{1F98C}",department_store:"\u{1F3EC}",derelict_house:"\u{1F3DA}",desert:"\u{1F3DC}",desert_island:"\u{1F3DD}",desktop_computer:"\u{1F5A5}",male_detective:"\u{1F575}\uFE0F",diamond_shape_with_a_dot_inside:"\u{1F4A0}",diamonds:"\u2666\uFE0F",disappointed:"\u{1F61E}",disappointed_relieved:"\u{1F625}",dizzy:"\u{1F4AB}",dizzy_face:"\u{1F635}",do_not_litter:"\u{1F6AF}",dog:"\u{1F436}",dog2:"\u{1F415}",dollar:"\u{1F4B5}",dolls:"\u{1F38E}",dolphin:"\u{1F42C}",door:"\u{1F6AA}",doughnut:"\u{1F369}",dove:"\u{1F54A}",dragon:"\u{1F409}",dragon_face:"\u{1F432}",dress:"\u{1F457}",dromedary_camel:"\u{1F42A}",drooling_face:"\u{1F924}",droplet:"\u{1F4A7}",drum:"\u{1F941}",duck:"\u{1F986}",dvd:"\u{1F4C0}","e-mail":"\u{1F4E7}",eagle:"\u{1F985}",ear:"\u{1F442}",ear_of_rice:"\u{1F33E}",earth_africa:"\u{1F30D}",earth_americas:"\u{1F30E}",earth_asia:"\u{1F30F}",egg:"\u{1F95A}",eggplant:"\u{1F346}",eight_pointed_black_star:"\u2734\uFE0F",eight_spoked_asterisk:"\u2733\uFE0F",electric_plug:"\u{1F50C}",elephant:"\u{1F418}",email:"\u2709\uFE0F",end:"\u{1F51A}",envelope_with_arrow:"\u{1F4E9}",euro:"\u{1F4B6}",european_castle:"\u{1F3F0}",european_post_office:"\u{1F3E4}",evergreen_tree:"\u{1F332}",exclamation:"\u2757\uFE0F",expressionless:"\u{1F611}",eye:"\u{1F441}",eye_speech_bubble:"\u{1F441}‍\u{1F5E8}",eyeglasses:"\u{1F453}",eyes:"\u{1F440}",face_with_head_bandage:"\u{1F915}",face_with_thermometer:"\u{1F912}",fist_oncoming:"\u{1F44A}",factory:"\u{1F3ED}",fallen_leaf:"\u{1F342}",family_man_woman_boy:"\u{1F46A}",family_man_boy:"\u{1F468}‍\u{1F466}",family_man_boy_boy:"\u{1F468}‍\u{1F466}‍\u{1F466}",family_man_girl:"\u{1F468}‍\u{1F467}",family_man_girl_boy:"\u{1F468}‍\u{1F467}‍\u{1F466}",family_man_girl_girl:"\u{1F468}‍\u{1F467}‍\u{1F467}",family_man_man_boy:"\u{1F468}‍\u{1F468}‍\u{1F466}",family_man_man_boy_boy:"\u{1F468}‍\u{1F468}‍\u{1F466}‍\u{1F466}",family_man_man_girl:"\u{1F468}‍\u{1F468}‍\u{1F467}",family_man_man_girl_boy:"\u{1F468}‍\u{1F468}‍\u{1F467}‍\u{1F466}",family_man_man_girl_girl:"\u{1F468}‍\u{1F468}‍\u{1F467}‍\u{1F467}",family_man_woman_boy_boy:"\u{1F468}‍\u{1F469}‍\u{1F466}‍\u{1F466}",family_man_woman_girl:"\u{1F468}‍\u{1F469}‍\u{1F467}",family_man_woman_girl_boy:"\u{1F468}‍\u{1F469}‍\u{1F467}‍\u{1F466}",family_man_woman_girl_girl:"\u{1F468}‍\u{1F469}‍\u{1F467}‍\u{1F467}",family_woman_boy:"\u{1F469}‍\u{1F466}",family_woman_boy_boy:"\u{1F469}‍\u{1F466}‍\u{1F466}",family_woman_girl:"\u{1F469}‍\u{1F467}",family_woman_girl_boy:"\u{1F469}‍\u{1F467}‍\u{1F466}",family_woman_girl_girl:"\u{1F469}‍\u{1F467}‍\u{1F467}",family_woman_woman_boy:"\u{1F469}‍\u{1F469}‍\u{1F466}",family_woman_woman_boy_boy:"\u{1F469}‍\u{1F469}‍\u{1F466}‍\u{1F466}",family_woman_woman_girl:"\u{1F469}‍\u{1F469}‍\u{1F467}",family_woman_woman_girl_boy:"\u{1F469}‍\u{1F469}‍\u{1F467}‍\u{1F466}",family_woman_woman_girl_girl:"\u{1F469}‍\u{1F469}‍\u{1F467}‍\u{1F467}",fast_forward:"\u23E9",fax:"\u{1F4E0}",fearful:"\u{1F628}",feet:"\u{1F43E}",female_detective:"\u{1F575}\uFE0F‍\u2640\uFE0F",ferris_wheel:"\u{1F3A1}",ferry:"\u26F4",field_hockey:"\u{1F3D1}",file_cabinet:"\u{1F5C4}",file_folder:"\u{1F4C1}",film_projector:"\u{1F4FD}",film_strip:"\u{1F39E}",fire:"\u{1F525}",fire_engine:"\u{1F692}",fireworks:"\u{1F386}",first_quarter_moon:"\u{1F313}",first_quarter_moon_with_face:"\u{1F31B}",fish:"\u{1F41F}",fish_cake:"\u{1F365}",fishing_pole_and_fish:"\u{1F3A3}",fist_raised:"\u270A",fist_left:"\u{1F91B}",fist_right:"\u{1F91C}",flags:"\u{1F38F}",flashlight:"\u{1F526}",fleur_de_lis:"\u269C\uFE0F",flight_arrival:"\u{1F6EC}",flight_departure:"\u{1F6EB}",floppy_disk:"\u{1F4BE}",flower_playing_cards:"\u{1F3B4}",flushed:"\u{1F633}",fog:"\u{1F32B}",foggy:"\u{1F301}",football:"\u{1F3C8}",footprints:"\u{1F463}",fork_and_knife:"\u{1F374}",fountain:"\u26F2\uFE0F",fountain_pen:"\u{1F58B}",four_leaf_clover:"\u{1F340}",fox_face:"\u{1F98A}",framed_picture:"\u{1F5BC}",free:"\u{1F193}",fried_egg:"\u{1F373}",fried_shrimp:"\u{1F364}",fries:"\u{1F35F}",frog:"\u{1F438}",frowning:"\u{1F626}",frowning_face:"\u2639\uFE0F",frowning_man:"\u{1F64D}‍\u2642\uFE0F",frowning_woman:"\u{1F64D}",middle_finger:"\u{1F595}",fuelpump:"\u26FD\uFE0F",full_moon:"\u{1F315}",full_moon_with_face:"\u{1F31D}",funeral_urn:"\u26B1\uFE0F",game_die:"\u{1F3B2}",gear:"\u2699\uFE0F",gem:"\u{1F48E}",gemini:"\u264A\uFE0F",ghost:"\u{1F47B}",gift:"\u{1F381}",gift_heart:"\u{1F49D}",girl:"\u{1F467}",globe_with_meridians:"\u{1F310}",goal_net:"\u{1F945}",goat:"\u{1F410}",golf:"\u26F3\uFE0F",golfing_man:"\u{1F3CC}\uFE0F",golfing_woman:"\u{1F3CC}\uFE0F‍\u2640\uFE0F",gorilla:"\u{1F98D}",grapes:"\u{1F347}",green_apple:"\u{1F34F}",green_book:"\u{1F4D7}",green_heart:"\u{1F49A}",green_salad:"\u{1F957}",grey_exclamation:"\u2755",grey_question:"\u2754",grimacing:"\u{1F62C}",grin:"\u{1F601}",grinning:"\u{1F600}",guardsman:"\u{1F482}",guardswoman:"\u{1F482}‍\u2640\uFE0F",guitar:"\u{1F3B8}",gun:"\u{1F52B}",haircut_woman:"\u{1F487}",haircut_man:"\u{1F487}‍\u2642\uFE0F",hamburger:"\u{1F354}",hammer:"\u{1F528}",hammer_and_pick:"\u2692",hammer_and_wrench:"\u{1F6E0}",hamster:"\u{1F439}",hand:"\u270B",handbag:"\u{1F45C}",handshake:"\u{1F91D}",hankey:"\u{1F4A9}",hatched_chick:"\u{1F425}",hatching_chick:"\u{1F423}",headphones:"\u{1F3A7}",hear_no_evil:"\u{1F649}",heart:"\u2764\uFE0F",heart_decoration:"\u{1F49F}",heart_eyes:"\u{1F60D}",heart_eyes_cat:"\u{1F63B}",heartbeat:"\u{1F493}",heartpulse:"\u{1F497}",hearts:"\u2665\uFE0F",heavy_check_mark:"\u2714\uFE0F",heavy_division_sign:"\u2797",heavy_dollar_sign:"\u{1F4B2}",heavy_heart_exclamation:"\u2763\uFE0F",heavy_minus_sign:"\u2796",heavy_multiplication_x:"\u2716\uFE0F",heavy_plus_sign:"\u2795",helicopter:"\u{1F681}",herb:"\u{1F33F}",hibiscus:"\u{1F33A}",high_brightness:"\u{1F506}",high_heel:"\u{1F460}",hocho:"\u{1F52A}",hole:"\u{1F573}",honey_pot:"\u{1F36F}",horse:"\u{1F434}",horse_racing:"\u{1F3C7}",hospital:"\u{1F3E5}",hot_pepper:"\u{1F336}",hotdog:"\u{1F32D}",hotel:"\u{1F3E8}",hotsprings:"\u2668\uFE0F",hourglass:"\u231B\uFE0F",hourglass_flowing_sand:"\u23F3",house:"\u{1F3E0}",house_with_garden:"\u{1F3E1}",houses:"\u{1F3D8}",hugs:"\u{1F917}",hushed:"\u{1F62F}",ice_cream:"\u{1F368}",ice_hockey:"\u{1F3D2}",ice_skate:"\u26F8",icecream:"\u{1F366}",id:"\u{1F194}",ideograph_advantage:"\u{1F250}",imp:"\u{1F47F}",inbox_tray:"\u{1F4E5}",incoming_envelope:"\u{1F4E8}",tipping_hand_woman:"\u{1F481}",information_source:"\u2139\uFE0F",innocent:"\u{1F607}",interrobang:"\u2049\uFE0F",iphone:"\u{1F4F1}",izakaya_lantern:"\u{1F3EE}",jack_o_lantern:"\u{1F383}",japan:"\u{1F5FE}",japanese_castle:"\u{1F3EF}",japanese_goblin:"\u{1F47A}",japanese_ogre:"\u{1F479}",jeans:"\u{1F456}",joy:"\u{1F602}",joy_cat:"\u{1F639}",joystick:"\u{1F579}",kaaba:"\u{1F54B}",key:"\u{1F511}",keyboard:"\u2328\uFE0F",keycap_ten:"\u{1F51F}",kick_scooter:"\u{1F6F4}",kimono:"\u{1F458}",kiss:"\u{1F48B}",kissing:"\u{1F617}",kissing_cat:"\u{1F63D}",kissing_closed_eyes:"\u{1F61A}",kissing_heart:"\u{1F618}",kissing_smiling_eyes:"\u{1F619}",kiwi_fruit:"\u{1F95D}",koala:"\u{1F428}",koko:"\u{1F201}",label:"\u{1F3F7}",large_blue_circle:"\u{1F535}",large_blue_diamond:"\u{1F537}",large_orange_diamond:"\u{1F536}",last_quarter_moon:"\u{1F317}",last_quarter_moon_with_face:"\u{1F31C}",latin_cross:"\u271D\uFE0F",laughing:"\u{1F606}",leaves:"\u{1F343}",ledger:"\u{1F4D2}",left_luggage:"\u{1F6C5}",left_right_arrow:"\u2194\uFE0F",leftwards_arrow_with_hook:"\u21A9\uFE0F",lemon:"\u{1F34B}",leo:"\u264C\uFE0F",leopard:"\u{1F406}",level_slider:"\u{1F39A}",libra:"\u264E\uFE0F",light_rail:"\u{1F688}",link:"\u{1F517}",lion:"\u{1F981}",lips:"\u{1F444}",lipstick:"\u{1F484}",lizard:"\u{1F98E}",lock:"\u{1F512}",lock_with_ink_pen:"\u{1F50F}",lollipop:"\u{1F36D}",loop:"\u27BF",loud_sound:"\u{1F50A}",loudspeaker:"\u{1F4E2}",love_hotel:"\u{1F3E9}",love_letter:"\u{1F48C}",low_brightness:"\u{1F505}",lying_face:"\u{1F925}",m:"\u24C2\uFE0F",mag:"\u{1F50D}",mag_right:"\u{1F50E}",mahjong:"\u{1F004}\uFE0F",mailbox:"\u{1F4EB}",mailbox_closed:"\u{1F4EA}",mailbox_with_mail:"\u{1F4EC}",mailbox_with_no_mail:"\u{1F4ED}",man:"\u{1F468}",man_artist:"\u{1F468}‍\u{1F3A8}",man_astronaut:"\u{1F468}‍\u{1F680}",man_cartwheeling:"\u{1F938}‍\u2642\uFE0F",man_cook:"\u{1F468}‍\u{1F373}",man_dancing:"\u{1F57A}",man_facepalming:"\u{1F926}‍\u2642\uFE0F",man_factory_worker:"\u{1F468}‍\u{1F3ED}",man_farmer:"\u{1F468}‍\u{1F33E}",man_firefighter:"\u{1F468}‍\u{1F692}",man_health_worker:"\u{1F468}‍\u2695\uFE0F",man_in_tuxedo:"\u{1F935}",man_judge:"\u{1F468}‍\u2696\uFE0F",man_juggling:"\u{1F939}‍\u2642\uFE0F",man_mechanic:"\u{1F468}‍\u{1F527}",man_office_worker:"\u{1F468}‍\u{1F4BC}",man_pilot:"\u{1F468}‍\u2708\uFE0F",man_playing_handball:"\u{1F93E}‍\u2642\uFE0F",man_playing_water_polo:"\u{1F93D}‍\u2642\uFE0F",man_scientist:"\u{1F468}‍\u{1F52C}",man_shrugging:"\u{1F937}‍\u2642\uFE0F",man_singer:"\u{1F468}‍\u{1F3A4}",man_student:"\u{1F468}‍\u{1F393}",man_teacher:"\u{1F468}‍\u{1F3EB}",man_technologist:"\u{1F468}‍\u{1F4BB}",man_with_gua_pi_mao:"\u{1F472}",man_with_turban:"\u{1F473}",tangerine:"\u{1F34A}",mans_shoe:"\u{1F45E}",mantelpiece_clock:"\u{1F570}",maple_leaf:"\u{1F341}",martial_arts_uniform:"\u{1F94B}",mask:"\u{1F637}",massage_woman:"\u{1F486}",massage_man:"\u{1F486}‍\u2642\uFE0F",meat_on_bone:"\u{1F356}",medal_military:"\u{1F396}",medal_sports:"\u{1F3C5}",mega:"\u{1F4E3}",melon:"\u{1F348}",memo:"\u{1F4DD}",men_wrestling:"\u{1F93C}‍\u2642\uFE0F",menorah:"\u{1F54E}",mens:"\u{1F6B9}",metal:"\u{1F918}",metro:"\u{1F687}",microphone:"\u{1F3A4}",microscope:"\u{1F52C}",milk_glass:"\u{1F95B}",milky_way:"\u{1F30C}",minibus:"\u{1F690}",minidisc:"\u{1F4BD}",mobile_phone_off:"\u{1F4F4}",money_mouth_face:"\u{1F911}",money_with_wings:"\u{1F4B8}",moneybag:"\u{1F4B0}",monkey:"\u{1F412}",monkey_face:"\u{1F435}",monorail:"\u{1F69D}",moon:"\u{1F314}",mortar_board:"\u{1F393}",mosque:"\u{1F54C}",motor_boat:"\u{1F6E5}",motor_scooter:"\u{1F6F5}",motorcycle:"\u{1F3CD}",motorway:"\u{1F6E3}",mount_fuji:"\u{1F5FB}",mountain:"\u26F0",mountain_biking_man:"\u{1F6B5}",mountain_biking_woman:"\u{1F6B5}‍\u2640\uFE0F",mountain_cableway:"\u{1F6A0}",mountain_railway:"\u{1F69E}",mountain_snow:"\u{1F3D4}",mouse:"\u{1F42D}",mouse2:"\u{1F401}",movie_camera:"\u{1F3A5}",moyai:"\u{1F5FF}",mrs_claus:"\u{1F936}",muscle:"\u{1F4AA}",mushroom:"\u{1F344}",musical_keyboard:"\u{1F3B9}",musical_note:"\u{1F3B5}",musical_score:"\u{1F3BC}",mute:"\u{1F507}",nail_care:"\u{1F485}",name_badge:"\u{1F4DB}",national_park:"\u{1F3DE}",nauseated_face:"\u{1F922}",necktie:"\u{1F454}",negative_squared_cross_mark:"\u274E",nerd_face:"\u{1F913}",neutral_face:"\u{1F610}",new:"\u{1F195}",new_moon:"\u{1F311}",new_moon_with_face:"\u{1F31A}",newspaper:"\u{1F4F0}",newspaper_roll:"\u{1F5DE}",next_track_button:"\u23ED",ng:"\u{1F196}",no_good_man:"\u{1F645}‍\u2642\uFE0F",no_good_woman:"\u{1F645}",night_with_stars:"\u{1F303}",no_bell:"\u{1F515}",no_bicycles:"\u{1F6B3}",no_entry:"\u26D4\uFE0F",no_entry_sign:"\u{1F6AB}",no_mobile_phones:"\u{1F4F5}",no_mouth:"\u{1F636}",no_pedestrians:"\u{1F6B7}",no_smoking:"\u{1F6AD}","non-potable_water":"\u{1F6B1}",nose:"\u{1F443}",notebook:"\u{1F4D3}",notebook_with_decorative_cover:"\u{1F4D4}",notes:"\u{1F3B6}",nut_and_bolt:"\u{1F529}",o:"\u2B55\uFE0F",o2:"\u{1F17E}\uFE0F",ocean:"\u{1F30A}",octopus:"\u{1F419}",oden:"\u{1F362}",office:"\u{1F3E2}",oil_drum:"\u{1F6E2}",ok:"\u{1F197}",ok_hand:"\u{1F44C}",ok_man:"\u{1F646}‍\u2642\uFE0F",ok_woman:"\u{1F646}",old_key:"\u{1F5DD}",older_man:"\u{1F474}",older_woman:"\u{1F475}",om:"\u{1F549}",on:"\u{1F51B}",oncoming_automobile:"\u{1F698}",oncoming_bus:"\u{1F68D}",oncoming_police_car:"\u{1F694}",oncoming_taxi:"\u{1F696}",open_file_folder:"\u{1F4C2}",open_hands:"\u{1F450}",open_mouth:"\u{1F62E}",open_umbrella:"\u2602\uFE0F",ophiuchus:"\u26CE",orange_book:"\u{1F4D9}",orthodox_cross:"\u2626\uFE0F",outbox_tray:"\u{1F4E4}",owl:"\u{1F989}",ox:"\u{1F402}",package:"\u{1F4E6}",page_facing_up:"\u{1F4C4}",page_with_curl:"\u{1F4C3}",pager:"\u{1F4DF}",paintbrush:"\u{1F58C}",palm_tree:"\u{1F334}",pancakes:"\u{1F95E}",panda_face:"\u{1F43C}",paperclip:"\u{1F4CE}",paperclips:"\u{1F587}",parasol_on_ground:"\u26F1",parking:"\u{1F17F}\uFE0F",part_alternation_mark:"\u303D\uFE0F",partly_sunny:"\u26C5\uFE0F",passenger_ship:"\u{1F6F3}",passport_control:"\u{1F6C2}",pause_button:"\u23F8",peace_symbol:"\u262E\uFE0F",peach:"\u{1F351}",peanuts:"\u{1F95C}",pear:"\u{1F350}",pen:"\u{1F58A}",pencil2:"\u270F\uFE0F",penguin:"\u{1F427}",pensive:"\u{1F614}",performing_arts:"\u{1F3AD}",persevere:"\u{1F623}",person_fencing:"\u{1F93A}",pouting_woman:"\u{1F64E}",phone:"\u260E\uFE0F",pick:"\u26CF",pig:"\u{1F437}",pig2:"\u{1F416}",pig_nose:"\u{1F43D}",pill:"\u{1F48A}",pineapple:"\u{1F34D}",ping_pong:"\u{1F3D3}",pisces:"\u2653\uFE0F",pizza:"\u{1F355}",place_of_worship:"\u{1F6D0}",plate_with_cutlery:"\u{1F37D}",play_or_pause_button:"\u23EF",point_down:"\u{1F447}",point_left:"\u{1F448}",point_right:"\u{1F449}",point_up:"\u261D\uFE0F",point_up_2:"\u{1F446}",police_car:"\u{1F693}",policewoman:"\u{1F46E}‍\u2640\uFE0F",poodle:"\u{1F429}",popcorn:"\u{1F37F}",post_office:"\u{1F3E3}",postal_horn:"\u{1F4EF}",postbox:"\u{1F4EE}",potable_water:"\u{1F6B0}",potato:"\u{1F954}",pouch:"\u{1F45D}",poultry_leg:"\u{1F357}",pound:"\u{1F4B7}",rage:"\u{1F621}",pouting_cat:"\u{1F63E}",pouting_man:"\u{1F64E}‍\u2642\uFE0F",pray:"\u{1F64F}",prayer_beads:"\u{1F4FF}",pregnant_woman:"\u{1F930}",previous_track_button:"\u23EE",prince:"\u{1F934}",princess:"\u{1F478}",printer:"\u{1F5A8}",purple_heart:"\u{1F49C}",purse:"\u{1F45B}",pushpin:"\u{1F4CC}",put_litter_in_its_place:"\u{1F6AE}",question:"\u2753",rabbit:"\u{1F430}",rabbit2:"\u{1F407}",racehorse:"\u{1F40E}",racing_car:"\u{1F3CE}",radio:"\u{1F4FB}",radio_button:"\u{1F518}",radioactive:"\u2622\uFE0F",railway_car:"\u{1F683}",railway_track:"\u{1F6E4}",rainbow:"\u{1F308}",rainbow_flag:"\u{1F3F3}\uFE0F‍\u{1F308}",raised_back_of_hand:"\u{1F91A}",raised_hand_with_fingers_splayed:"\u{1F590}",raised_hands:"\u{1F64C}",raising_hand_woman:"\u{1F64B}",raising_hand_man:"\u{1F64B}‍\u2642\uFE0F",ram:"\u{1F40F}",ramen:"\u{1F35C}",rat:"\u{1F400}",record_button:"\u23FA",recycle:"\u267B\uFE0F",red_circle:"\u{1F534}",registered:"\xAE\uFE0F",relaxed:"\u263A\uFE0F",relieved:"\u{1F60C}",reminder_ribbon:"\u{1F397}",repeat:"\u{1F501}",repeat_one:"\u{1F502}",rescue_worker_helmet:"\u26D1",restroom:"\u{1F6BB}",revolving_hearts:"\u{1F49E}",rewind:"\u23EA",rhinoceros:"\u{1F98F}",ribbon:"\u{1F380}",rice:"\u{1F35A}",rice_ball:"\u{1F359}",rice_cracker:"\u{1F358}",rice_scene:"\u{1F391}",right_anger_bubble:"\u{1F5EF}",ring:"\u{1F48D}",robot:"\u{1F916}",rocket:"\u{1F680}",rofl:"\u{1F923}",roll_eyes:"\u{1F644}",roller_coaster:"\u{1F3A2}",rooster:"\u{1F413}",rose:"\u{1F339}",rosette:"\u{1F3F5}",rotating_light:"\u{1F6A8}",round_pushpin:"\u{1F4CD}",rowing_man:"\u{1F6A3}",rowing_woman:"\u{1F6A3}‍\u2640\uFE0F",rugby_football:"\u{1F3C9}",running_man:"\u{1F3C3}",running_shirt_with_sash:"\u{1F3BD}",running_woman:"\u{1F3C3}‍\u2640\uFE0F",sa:"\u{1F202}\uFE0F",sagittarius:"\u2650\uFE0F",sake:"\u{1F376}",sandal:"\u{1F461}",santa:"\u{1F385}",satellite:"\u{1F4E1}",saxophone:"\u{1F3B7}",school:"\u{1F3EB}",school_satchel:"\u{1F392}",scissors:"\u2702\uFE0F",scorpion:"\u{1F982}",scorpius:"\u264F\uFE0F",scream:"\u{1F631}",scream_cat:"\u{1F640}",scroll:"\u{1F4DC}",seat:"\u{1F4BA}",secret:"\u3299\uFE0F",see_no_evil:"\u{1F648}",seedling:"\u{1F331}",selfie:"\u{1F933}",shallow_pan_of_food:"\u{1F958}",shamrock:"\u2618\uFE0F",shark:"\u{1F988}",shaved_ice:"\u{1F367}",sheep:"\u{1F411}",shell:"\u{1F41A}",shield:"\u{1F6E1}",shinto_shrine:"\u26E9",ship:"\u{1F6A2}",shirt:"\u{1F455}",shopping:"\u{1F6CD}",shopping_cart:"\u{1F6D2}",shower:"\u{1F6BF}",shrimp:"\u{1F990}",signal_strength:"\u{1F4F6}",six_pointed_star:"\u{1F52F}",ski:"\u{1F3BF}",skier:"\u26F7",skull:"\u{1F480}",skull_and_crossbones:"\u2620\uFE0F",sleeping:"\u{1F634}",sleeping_bed:"\u{1F6CC}",sleepy:"\u{1F62A}",slightly_frowning_face:"\u{1F641}",slightly_smiling_face:"\u{1F642}",slot_machine:"\u{1F3B0}",small_airplane:"\u{1F6E9}",small_blue_diamond:"\u{1F539}",small_orange_diamond:"\u{1F538}",small_red_triangle:"\u{1F53A}",small_red_triangle_down:"\u{1F53B}",smile:"\u{1F604}",smile_cat:"\u{1F638}",smiley:"\u{1F603}",smiley_cat:"\u{1F63A}",smiling_imp:"\u{1F608}",smirk:"\u{1F60F}",smirk_cat:"\u{1F63C}",smoking:"\u{1F6AC}",snail:"\u{1F40C}",snake:"\u{1F40D}",sneezing_face:"\u{1F927}",snowboarder:"\u{1F3C2}",snowflake:"\u2744\uFE0F",snowman:"\u26C4\uFE0F",snowman_with_snow:"\u2603\uFE0F",sob:"\u{1F62D}",soccer:"\u26BD\uFE0F",soon:"\u{1F51C}",sos:"\u{1F198}",sound:"\u{1F509}",space_invader:"\u{1F47E}",spades:"\u2660\uFE0F",spaghetti:"\u{1F35D}",sparkle:"\u2747\uFE0F",sparkler:"\u{1F387}",sparkles:"\u2728",sparkling_heart:"\u{1F496}",speak_no_evil:"\u{1F64A}",speaker:"\u{1F508}",speaking_head:"\u{1F5E3}",speech_balloon:"\u{1F4AC}",speedboat:"\u{1F6A4}",spider:"\u{1F577}",spider_web:"\u{1F578}",spiral_calendar:"\u{1F5D3}",spiral_notepad:"\u{1F5D2}",spoon:"\u{1F944}",squid:"\u{1F991}",stadium:"\u{1F3DF}",star:"\u2B50\uFE0F",star2:"\u{1F31F}",star_and_crescent:"\u262A\uFE0F",star_of_david:"\u2721\uFE0F",stars:"\u{1F320}",station:"\u{1F689}",statue_of_liberty:"\u{1F5FD}",steam_locomotive:"\u{1F682}",stew:"\u{1F372}",stop_button:"\u23F9",stop_sign:"\u{1F6D1}",stopwatch:"\u23F1",straight_ruler:"\u{1F4CF}",strawberry:"\u{1F353}",stuck_out_tongue:"\u{1F61B}",stuck_out_tongue_closed_eyes:"\u{1F61D}",stuck_out_tongue_winking_eye:"\u{1F61C}",studio_microphone:"\u{1F399}",stuffed_flatbread:"\u{1F959}",sun_behind_large_cloud:"\u{1F325}",sun_behind_rain_cloud:"\u{1F326}",sun_behind_small_cloud:"\u{1F324}",sun_with_face:"\u{1F31E}",sunflower:"\u{1F33B}",sunglasses:"\u{1F60E}",sunny:"\u2600\uFE0F",sunrise:"\u{1F305}",sunrise_over_mountains:"\u{1F304}",surfing_man:"\u{1F3C4}",surfing_woman:"\u{1F3C4}‍\u2640\uFE0F",sushi:"\u{1F363}",suspension_railway:"\u{1F69F}",sweat:"\u{1F613}",sweat_drops:"\u{1F4A6}",sweat_smile:"\u{1F605}",sweet_potato:"\u{1F360}",swimming_man:"\u{1F3CA}",swimming_woman:"\u{1F3CA}‍\u2640\uFE0F",symbols:"\u{1F523}",synagogue:"\u{1F54D}",syringe:"\u{1F489}",taco:"\u{1F32E}",tada:"\u{1F389}",tanabata_tree:"\u{1F38B}",taurus:"\u2649\uFE0F",taxi:"\u{1F695}",tea:"\u{1F375}",telephone_receiver:"\u{1F4DE}",telescope:"\u{1F52D}",tennis:"\u{1F3BE}",tent:"\u26FA\uFE0F",thermometer:"\u{1F321}",thinking:"\u{1F914}",thought_balloon:"\u{1F4AD}",ticket:"\u{1F3AB}",tickets:"\u{1F39F}",tiger:"\u{1F42F}",tiger2:"\u{1F405}",timer_clock:"\u23F2",tipping_hand_man:"\u{1F481}‍\u2642\uFE0F",tired_face:"\u{1F62B}",tm:"\u2122\uFE0F",toilet:"\u{1F6BD}",tokyo_tower:"\u{1F5FC}",tomato:"\u{1F345}",tongue:"\u{1F445}",top:"\u{1F51D}",tophat:"\u{1F3A9}",tornado:"\u{1F32A}",trackball:"\u{1F5B2}",tractor:"\u{1F69C}",traffic_light:"\u{1F6A5}",train:"\u{1F68B}",train2:"\u{1F686}",tram:"\u{1F68A}",triangular_flag_on_post:"\u{1F6A9}",triangular_ruler:"\u{1F4D0}",trident:"\u{1F531}",triumph:"\u{1F624}",trolleybus:"\u{1F68E}",trophy:"\u{1F3C6}",tropical_drink:"\u{1F379}",tropical_fish:"\u{1F420}",truck:"\u{1F69A}",trumpet:"\u{1F3BA}",tulip:"\u{1F337}",tumbler_glass:"\u{1F943}",turkey:"\u{1F983}",turtle:"\u{1F422}",tv:"\u{1F4FA}",twisted_rightwards_arrows:"\u{1F500}",two_hearts:"\u{1F495}",two_men_holding_hands:"\u{1F46C}",two_women_holding_hands:"\u{1F46D}",u5272:"\u{1F239}",u5408:"\u{1F234}",u55b6:"\u{1F23A}",u6307:"\u{1F22F}\uFE0F",u6708:"\u{1F237}\uFE0F",u6709:"\u{1F236}",u6e80:"\u{1F235}",u7121:"\u{1F21A}\uFE0F",u7533:"\u{1F238}",u7981:"\u{1F232}",u7a7a:"\u{1F233}",umbrella:"\u2614\uFE0F",unamused:"\u{1F612}",underage:"\u{1F51E}",unicorn:"\u{1F984}",unlock:"\u{1F513}",up:"\u{1F199}",upside_down_face:"\u{1F643}",v:"\u270C\uFE0F",vertical_traffic_light:"\u{1F6A6}",vhs:"\u{1F4FC}",vibration_mode:"\u{1F4F3}",video_camera:"\u{1F4F9}",video_game:"\u{1F3AE}",violin:"\u{1F3BB}",virgo:"\u264D\uFE0F",volcano:"\u{1F30B}",volleyball:"\u{1F3D0}",vs:"\u{1F19A}",vulcan_salute:"\u{1F596}",walking_man:"\u{1F6B6}",walking_woman:"\u{1F6B6}‍\u2640\uFE0F",waning_crescent_moon:"\u{1F318}",waning_gibbous_moon:"\u{1F316}",warning:"\u26A0\uFE0F",wastebasket:"\u{1F5D1}",watch:"\u231A\uFE0F",water_buffalo:"\u{1F403}",watermelon:"\u{1F349}",wave:"\u{1F44B}",wavy_dash:"\u3030\uFE0F",waxing_crescent_moon:"\u{1F312}",wc:"\u{1F6BE}",weary:"\u{1F629}",wedding:"\u{1F492}",weight_lifting_man:"\u{1F3CB}\uFE0F",weight_lifting_woman:"\u{1F3CB}\uFE0F‍\u2640\uFE0F",whale:"\u{1F433}",whale2:"\u{1F40B}",wheel_of_dharma:"\u2638\uFE0F",wheelchair:"\u267F\uFE0F",white_check_mark:"\u2705",white_circle:"\u26AA\uFE0F",white_flag:"\u{1F3F3}\uFE0F",white_flower:"\u{1F4AE}",white_large_square:"\u2B1C\uFE0F",white_medium_small_square:"\u25FD\uFE0F",white_medium_square:"\u25FB\uFE0F",white_small_square:"\u25AB\uFE0F",white_square_button:"\u{1F533}",wilted_flower:"\u{1F940}",wind_chime:"\u{1F390}",wind_face:"\u{1F32C}",wine_glass:"\u{1F377}",wink:"\u{1F609}",wolf:"\u{1F43A}",woman:"\u{1F469}",woman_artist:"\u{1F469}‍\u{1F3A8}",woman_astronaut:"\u{1F469}‍\u{1F680}",woman_cartwheeling:"\u{1F938}‍\u2640\uFE0F",woman_cook:"\u{1F469}‍\u{1F373}",woman_facepalming:"\u{1F926}‍\u2640\uFE0F",woman_factory_worker:"\u{1F469}‍\u{1F3ED}",woman_farmer:"\u{1F469}‍\u{1F33E}",woman_firefighter:"\u{1F469}‍\u{1F692}",woman_health_worker:"\u{1F469}‍\u2695\uFE0F",woman_judge:"\u{1F469}‍\u2696\uFE0F",woman_juggling:"\u{1F939}‍\u2640\uFE0F",woman_mechanic:"\u{1F469}‍\u{1F527}",woman_office_worker:"\u{1F469}‍\u{1F4BC}",woman_pilot:"\u{1F469}‍\u2708\uFE0F",woman_playing_handball:"\u{1F93E}‍\u2640\uFE0F",woman_playing_water_polo:"\u{1F93D}‍\u2640\uFE0F",woman_scientist:"\u{1F469}‍\u{1F52C}",woman_shrugging:"\u{1F937}‍\u2640\uFE0F",woman_singer:"\u{1F469}‍\u{1F3A4}",woman_student:"\u{1F469}‍\u{1F393}",woman_teacher:"\u{1F469}‍\u{1F3EB}",woman_technologist:"\u{1F469}‍\u{1F4BB}",woman_with_turban:"\u{1F473}‍\u2640\uFE0F",womans_clothes:"\u{1F45A}",womans_hat:"\u{1F452}",women_wrestling:"\u{1F93C}‍\u2640\uFE0F",womens:"\u{1F6BA}",world_map:"\u{1F5FA}",worried:"\u{1F61F}",wrench:"\u{1F527}",writing_hand:"\u270D\uFE0F",x:"\u274C",yellow_heart:"\u{1F49B}",yen:"\u{1F4B4}",yin_yang:"\u262F\uFE0F",yum:"\u{1F60B}",zap:"\u26A1\uFE0F",zipper_mouth_face:"\u{1F910}",zzz:"\u{1F4A4}",octocat:':octocat:',showdown:`S`},t.Converter=function(a){"use strict";var l={},s=[],c=[],h={},_=d,m={parsed:{},raw:"",format:""};b();function b(){a=a||{};for(var p in u)u.hasOwnProperty(p)&&(l[p]=u[p]);if(typeof a=="object")for(var T in a)a.hasOwnProperty(T)&&(l[T]=a[T]);else throw Error("Converter expects the passed parameter to be an object, but "+typeof a+" was passed instead.");l.extensions&&t.helper.forEach(l.extensions,D)}function D(p,T){if(T=T||null,t.helper.isString(p))if(p=t.helper.stdExtName(p),T=p,t.extensions[p]){console.warn("DEPRECATION WARNING: "+p+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),L(t.extensions[p],p);return}else if(!t.helper.isUndefined(i[p]))p=i[p];else throw Error('Extension "'+p+'" could not be loaded. It was either not found or is not a valid extension.');typeof p=="function"&&(p=p()),t.helper.isArray(p)||(p=[p]);var P=f(p,T);if(!P.valid)throw Error(P.error);for(var $=0;$[ \t]+\xA8NBSP;<"),!T)if(window&&window.document)T=window.document;else throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");var P=T.createElement("div");P.innerHTML=p;var $={preList:ee(P)};G(P);for(var B=P.childNodes,N="",z=0;z'}else ue.push(re[ie].innerHTML),re[ie].innerHTML="",re[ie].setAttribute("prenum",ie.toString());return ue}return N},this.setOption=function(p,T){l[p]=T},this.getOption=function(p){return l[p]},this.getOptions=function(){return l},this.addExtension=function(p,T){T=T||null,D(p,T)},this.useExtension=function(p){D(p)},this.setFlavor=function(p){if(!o.hasOwnProperty(p))throw Error(p+" flavor was not found");var T=o[p];_=p;for(var P in T)T.hasOwnProperty(P)&&(l[P]=T[P])},this.getFlavor=function(){return _},this.removeExtension=function(p){t.helper.isArray(p)||(p=[p]);for(var T=0;T? ?(['"].*['"])?\)$/m)>-1)b="";else if(!b)if(m||(m=_.toLowerCase().replace(/ ?\n/g," ")),b="#"+m,!t.helper.isUndefined(s.gUrls[m]))b=s.gUrls[m],t.helper.isUndefined(s.gTitles[m])||(x=s.gTitles[m]);else return h;b=b.replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback);var C='",C};return a=a.replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,c),a=a.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,c),a=a.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,c),a=a.replace(/\[([^\[\]]+)]()()()()()/g,c),l.ghMentions&&(a=a.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gmi,function(h,_,m,b,D){if(m==="\\")return _+b;if(!t.helper.isString(l.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var L=l.ghMentionsLink.replace(/\{u}/g,D),x="";return l.openLinksInNewWindow&&(x=' rel="noopener noreferrer" target="\xA8E95Eblank"'),_+'"+b+""})),a=s.converter._dispatch("anchors.after",a,l,s),a});var S=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,E=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,y=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,k=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gmi,v=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,w=function(a){"use strict";return function(l,s,c,h,_,m,b){c=c.replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback);var D=c,L="",x="",C=s||"",p=b||"";return/^www\./i.test(c)&&(c=c.replace(/^www\./i,"http://www.")),a.excludeTrailingPunctuationFromURLs&&m&&(L=m),a.openLinksInNewWindow&&(x=' rel="noopener noreferrer" target="\xA8E95Eblank"'),C+'"+D+""+L+p}},I=function(a,l){"use strict";return function(s,c,h){var _="mailto:";return c=c||"",h=t.subParser("unescapeSpecialChars")(h,a,l),a.encodeEmails?(_=t.helper.encodeEmailAddress(_+h),h=t.helper.encodeEmailAddress(h)):_=_+h,c+''+h+""}};t.subParser("autoLinks",function(a,l,s){"use strict";return a=s.converter._dispatch("autoLinks.before",a,l,s),a=a.replace(y,w(l)),a=a.replace(v,I(l,s)),a=s.converter._dispatch("autoLinks.after",a,l,s),a}),t.subParser("simplifiedAutoLinks",function(a,l,s){"use strict";return l.simplifiedAutoLink&&(a=s.converter._dispatch("simplifiedAutoLinks.before",a,l,s),l.excludeTrailingPunctuationFromURLs?a=a.replace(E,w(l)):a=a.replace(S,w(l)),a=a.replace(k,I(l,s)),a=s.converter._dispatch("simplifiedAutoLinks.after",a,l,s)),a}),t.subParser("blockGamut",function(a,l,s){"use strict";return a=s.converter._dispatch("blockGamut.before",a,l,s),a=t.subParser("blockQuotes")(a,l,s),a=t.subParser("headers")(a,l,s),a=t.subParser("horizontalRule")(a,l,s),a=t.subParser("lists")(a,l,s),a=t.subParser("codeBlocks")(a,l,s),a=t.subParser("tables")(a,l,s),a=t.subParser("hashHTMLBlocks")(a,l,s),a=t.subParser("paragraphs")(a,l,s),a=s.converter._dispatch("blockGamut.after",a,l,s),a}),t.subParser("blockQuotes",function(a,l,s){"use strict";a=s.converter._dispatch("blockQuotes.before",a,l,s),a=a+` + +`;var c=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return l.splitAdjacentBlockquotes&&(c=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),a=a.replace(c,function(h){return h=h.replace(/^[ \t]*>[ \t]?/gm,""),h=h.replace(/¨0/g,""),h=h.replace(/^[ \t]+$/gm,""),h=t.subParser("githubCodeBlocks")(h,l,s),h=t.subParser("blockGamut")(h,l,s),h=h.replace(/(^|\n)/g,"$1 "),h=h.replace(/(\s*
[^\r]+?<\/pre>)/gm,function(_,m){var b=m;return b=b.replace(/^  /mg,"\xA80"),b=b.replace(/¨0/g,""),b}),t.subParser("hashBlock")(`
+`+h+` +
`,l,s)}),a=s.converter._dispatch("blockQuotes.after",a,l,s),a}),t.subParser("codeBlocks",function(a,l,s){"use strict";a=s.converter._dispatch("codeBlocks.before",a,l,s),a+="\xA80";var c=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g;return a=a.replace(c,function(h,_,m){var b=_,D=m,L=` +`;return b=t.subParser("outdent")(b,l,s),b=t.subParser("encodeCode")(b,l,s),b=t.subParser("detab")(b,l,s),b=b.replace(/^\n+/g,""),b=b.replace(/\n+$/g,""),l.omitExtraWLInCodeBlocks&&(L=""),b="
"+b+L+"
",t.subParser("hashBlock")(b,l,s)+D}),a=a.replace(/¨0/,""),a=s.converter._dispatch("codeBlocks.after",a,l,s),a}),t.subParser("codeSpans",function(a,l,s){"use strict";return a=s.converter._dispatch("codeSpans.before",a,l,s),typeof a=="undefined"&&(a=""),a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(c,h,_,m){var b=m;return b=b.replace(/^([ \t]*)/g,""),b=b.replace(/[ \t]*$/g,""),b=t.subParser("encodeCode")(b,l,s),b=h+""+b+"",b=t.subParser("hashHTMLSpans")(b,l,s),b}),a=s.converter._dispatch("codeSpans.after",a,l,s),a}),t.subParser("completeHTMLDocument",function(a,l,s){"use strict";if(!l.completeHTMLDocument)return a;a=s.converter._dispatch("completeHTMLDocument.before",a,l,s);var c="html",h=` +`,_="",m=` +`,b="",D="";typeof s.metadata.parsed.doctype!="undefined"&&(h=" +`,c=s.metadata.parsed.doctype.toString().toLowerCase(),(c==="html"||c==="html5")&&(m=''));for(var L in s.metadata.parsed)if(s.metadata.parsed.hasOwnProperty(L))switch(L.toLowerCase()){case"doctype":break;case"title":_=""+s.metadata.parsed.title+` +`;break;case"charset":c==="html"||c==="html5"?m=' +`:m=' +`;break;case"language":case"lang":b=' lang="'+s.metadata.parsed[L]+'"',D+=' +`;break;default:D+=' +`}return a=h+" + +`+_+m+D+` + +`+a.trim()+` + +`,a=s.converter._dispatch("completeHTMLDocument.after",a,l,s),a}),t.subParser("detab",function(a,l,s){"use strict";return a=s.converter._dispatch("detab.before",a,l,s),a=a.replace(/\t(?=\t)/g," "),a=a.replace(/\t/g,"\xA8A\xA8B"),a=a.replace(/¨B(.+?)¨A/g,function(c,h){for(var _=h,m=4-_.length%4,b=0;b/g,">"),a=s.converter._dispatch("encodeAmpsAndAngles.after",a,l,s),a}),t.subParser("encodeBackslashEscapes",function(a,l,s){"use strict";return a=s.converter._dispatch("encodeBackslashEscapes.before",a,l,s),a=a.replace(/\\(\\)/g,t.helper.escapeCharactersCallback),a=a.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,t.helper.escapeCharactersCallback),a=s.converter._dispatch("encodeBackslashEscapes.after",a,l,s),a}),t.subParser("encodeCode",function(a,l,s){"use strict";return a=s.converter._dispatch("encodeCode.before",a,l,s),a=a.replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,t.helper.escapeCharactersCallback),a=s.converter._dispatch("encodeCode.after",a,l,s),a}),t.subParser("escapeSpecialCharsWithinTagAttributes",function(a,l,s){"use strict";a=s.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",a,l,s);var c=/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,h=/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;return a=a.replace(c,function(_){return _.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)}),a=a.replace(h,function(_){return _.replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)}),a=s.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",a,l,s),a}),t.subParser("githubCodeBlocks",function(a,l,s){"use strict";return l.ghCodeBlocks?(a=s.converter._dispatch("githubCodeBlocks.before",a,l,s),a+="\xA80",a=a.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(c,h,_,m){var b=l.omitExtraWLInCodeBlocks?"":` +`;return m=t.subParser("encodeCode")(m,l,s),m=t.subParser("detab")(m,l,s),m=m.replace(/^\n+/g,""),m=m.replace(/\n+$/g,""),m="
"+m+b+"
",m=t.subParser("hashBlock")(m,l,s),` + +\xA8G`+(s.ghCodeBlocks.push({text:c,codeblock:m})-1)+`G + +`}),a=a.replace(/¨0/,""),s.converter._dispatch("githubCodeBlocks.after",a,l,s)):a}),t.subParser("hashBlock",function(a,l,s){"use strict";return a=s.converter._dispatch("hashBlock.before",a,l,s),a=a.replace(/(^\n+|\n+$)/g,""),a=` + +\xA8K`+(s.gHtmlBlocks.push(a)-1)+`K + +`,a=s.converter._dispatch("hashBlock.after",a,l,s),a}),t.subParser("hashCodeTags",function(a,l,s){"use strict";a=s.converter._dispatch("hashCodeTags.before",a,l,s);var c=function(h,_,m,b){var D=m+t.subParser("encodeCode")(_,l,s)+b;return"\xA8C"+(s.gHtmlSpans.push(D)-1)+"C"};return a=t.helper.replaceRecursiveRegExp(a,c,"]*>","","gim"),a=s.converter._dispatch("hashCodeTags.after",a,l,s),a}),t.subParser("hashElement",function(a,l,s){"use strict";return function(c,h){var _=h;return _=_.replace(/\n\n/g,` +`),_=_.replace(/^\n/,""),_=_.replace(/\n+$/g,""),_=` + +\xA8K`+(s.gHtmlBlocks.push(_)-1)+`K + +`,_}}),t.subParser("hashHTMLBlocks",function(a,l,s){"use strict";a=s.converter._dispatch("hashHTMLBlocks.before",a,l,s);var c=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],h=function(p,T,P,$){var B=p;return P.search(/\bmarkdown\b/)!==-1&&(B=P+s.converter.makeHtml(T)+$),` + +\xA8K`+(s.gHtmlBlocks.push(B)-1)+`K + +`};l.backslashEscapesHTMLTags&&(a=a.replace(/\\<(\/?[^>]+?)>/g,function(p,T){return"<"+T+">"}));for(var _=0;_]*>)","im"),D="<"+c[_]+"\\b[^>]*>",L="";(m=t.helper.regexIndexOf(a,b))!==-1;){var x=t.helper.splitAtIndex(a,m),C=t.helper.replaceRecursiveRegExp(x[1],h,D,L,"im");if(C===x[1])break;a=x[0].concat(C)}return a=a.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(a,l,s)),a=t.helper.replaceRecursiveRegExp(a,function(p){return` + +\xA8K`+(s.gHtmlBlocks.push(p)-1)+`K + +`},"^ {0,3}","gm"),a=a.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(a,l,s)),a=s.converter._dispatch("hashHTMLBlocks.after",a,l,s),a}),t.subParser("hashHTMLSpans",function(a,l,s){"use strict";a=s.converter._dispatch("hashHTMLSpans.before",a,l,s);function c(h){return"\xA8C"+(s.gHtmlSpans.push(h)-1)+"C"}return a=a.replace(/<[^>]+?\/>/gi,function(h){return c(h)}),a=a.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(h){return c(h)}),a=a.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(h){return c(h)}),a=a.replace(/<[^>]+?>/gi,function(h){return c(h)}),a=s.converter._dispatch("hashHTMLSpans.after",a,l,s),a}),t.subParser("unhashHTMLSpans",function(a,l,s){"use strict";a=s.converter._dispatch("unhashHTMLSpans.before",a,l,s);for(var c=0;c]*>\\s*]*>","^ {0,3}\\s*
","gim"),a=s.converter._dispatch("hashPreCodeTags.after",a,l,s),a}),t.subParser("headers",function(a,l,s){"use strict";a=s.converter._dispatch("headers.before",a,l,s);var c=isNaN(parseInt(l.headerLevelStart))?1:parseInt(l.headerLevelStart),h=l.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,_=l.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;a=a.replace(h,function(D,L){var x=t.subParser("spanGamut")(L,l,s),C=l.noHeaderId?"":' id="'+b(L)+'"',p=c,T=""+x+"";return t.subParser("hashBlock")(T,l,s)}),a=a.replace(_,function(D,L){var x=t.subParser("spanGamut")(L,l,s),C=l.noHeaderId?"":' id="'+b(L)+'"',p=c+1,T=""+x+"";return t.subParser("hashBlock")(T,l,s)});var m=l.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;a=a.replace(m,function(D,L,x){var C=x;l.customizedHeaderId&&(C=x.replace(/\s?\{([^{]+?)}\s*$/,""));var p=t.subParser("spanGamut")(C,l,s),T=l.noHeaderId?"":' id="'+b(x)+'"',P=c-1+L.length,$=""+p+"";return t.subParser("hashBlock")($,l,s)});function b(D){var L,x;if(l.customizedHeaderId){var C=D.match(/\{([^{]+?)}\s*$/);C&&C[1]&&(D=C[1])}return L=D,t.helper.isString(l.prefixHeaderId)?x=l.prefixHeaderId:l.prefixHeaderId===!0?x="section-":x="",l.rawPrefixHeaderId||(L=x+L),l.ghCompatibleHeaderId?L=L.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():l.rawHeaderId?L=L.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"\xA8").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():L=L.replace(/[^\w]/g,"").toLowerCase(),l.rawPrefixHeaderId&&(L=x+L),s.hashLinkCounts[L]?L=L+"-"+s.hashLinkCounts[L]++:s.hashLinkCounts[L]=1,L}return a=s.converter._dispatch("headers.after",a,l,s),a}),t.subParser("horizontalRule",function(a,l,s){"use strict";a=s.converter._dispatch("horizontalRule.before",a,l,s);var c=t.subParser("hashBlock")("
",l,s);return a=a.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,c),a=a.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,c),a=a.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,c),a=s.converter._dispatch("horizontalRule.after",a,l,s),a}),t.subParser("images",function(a,l,s){"use strict";a=s.converter._dispatch("images.before",a,l,s);var c=/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,h=/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,_=/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,m=/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,b=/!\[([^\[\]]+)]()()()()()/g;function D(x,C,p,T,P,$,B,N){return T=T.replace(/\s/g,""),L(x,C,p,T,P,$,B,N)}function L(x,C,p,T,P,$,B,N){var z=s.gUrls,G=s.gTitles,ee=s.gDimensions;if(p=p.toLowerCase(),N||(N=""),x.search(/\(? ?(['"].*['"])?\)$/m)>-1)T="";else if(T===""||T===null)if((p===""||p===null)&&(p=C.toLowerCase().replace(/ ?\n/g," ")),T="#"+p,!t.helper.isUndefined(z[p]))T=z[p],t.helper.isUndefined(G[p])||(N=G[p]),t.helper.isUndefined(ee[p])||(P=ee[p].width,$=ee[p].height);else return x;C=C.replace(/"/g,""").replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback),T=T.replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback);var Y=''+C+'","
")}),a=a.replace(/\b__(\S[\s\S]*?)__\b/g,function(h,_){return c(_,"","")}),a=a.replace(/\b_(\S[\s\S]*?)_\b/g,function(h,_){return c(_,"","")})):(a=a.replace(/___(\S[\s\S]*?)___/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h}),a=a.replace(/__(\S[\s\S]*?)__/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h}),a=a.replace(/_([^\s_][\s\S]*?)_/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h})),l.literalMidWordAsterisks?(a=a.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(h,_,m){return c(m,_+"","")}),a=a.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(h,_,m){return c(m,_+"","")}),a=a.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(h,_,m){return c(m,_+"","")})):(a=a.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h}),a=a.replace(/\*\*(\S[\s\S]*?)\*\*/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h}),a=a.replace(/\*([^\s*][\s\S]*?)\*/g,function(h,_){return/\S$/.test(_)?c(_,"",""):h})),a=s.converter._dispatch("italicsAndBold.after",a,l,s),a}),t.subParser("lists",function(a,l,s){"use strict";function c(m,b){s.gListLevel++,m=m.replace(/\n{2,}$/,` +`),m+="\xA80";var D=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,L=/\n[ \t]*\n(?!¨0)/.test(m);return l.disableForced4SpacesIndentedSublists&&(D=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),m=m.replace(D,function(x,C,p,T,P,$,B){B=B&&B.trim()!=="";var N=t.subParser("outdent")(P,l,s),z="";return $&&l.tasklists&&(z=' class="task-list-item" style="list-style-type: none;"',N=N.replace(/^[ \t]*\[(x|X| )?]/m,function(){var G='-1?(N=t.subParser("githubCodeBlocks")(N,l,s),N=t.subParser("blockGamut")(N,l,s)):(N=t.subParser("lists")(N,l,s),N=N.replace(/\n$/,""),N=t.subParser("hashHTMLBlocks")(N,l,s),N=N.replace(/\n\n+/g,` + +`),L?N=t.subParser("paragraphs")(N,l,s):N=t.subParser("spanGamut")(N,l,s)),N=N.replace("\xA8A",""),N=""+N+` +`,N}),m=m.replace(/¨0/g,""),s.gListLevel--,b&&(m=m.replace(/\s+$/,"")),m}function h(m,b){if(b==="ol"){var D=m.match(/^ *(\d+)\./);if(D&&D[1]!=="1")return' start="'+D[1]+'"'}return""}function _(m,b,D){var L=l.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,x=l.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,C=b==="ul"?L:x,p="";if(m.search(C)!==-1)(function P($){var B=$.search(C),N=h(m,b);B!==-1?(p+=` + +<`+b+N+`> +`+c($.slice(0,B),!!D)+" +`,b=b==="ul"?"ol":"ul",C=b==="ul"?L:x,P($.slice(B))):p+=` + +<`+b+N+`> +`+c($,!!D)+" +`})(m);else{var T=h(m,b);p=` + +<`+b+T+`> +`+c(m,!!D)+" +`}return p}return a=s.converter._dispatch("lists.before",a,l,s),a+="\xA80",s.gListLevel?a=a.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(m,b,D){var L=D.search(/[*+-]/g)>-1?"ul":"ol";return _(b,L,!0)}):a=a.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(m,b,D,L){var x=L.search(/[*+-]/g)>-1?"ul":"ol";return _(D,x,!1)}),a=a.replace(/¨0/,""),a=s.converter._dispatch("lists.after",a,l,s),a}),t.subParser("metadata",function(a,l,s){"use strict";if(!l.metadata)return a;a=s.converter._dispatch("metadata.before",a,l,s);function c(h){s.metadata.raw=h,h=h.replace(/&/g,"&").replace(/"/g,"""),h=h.replace(/\n {4}/g," "),h.replace(/^([\S ]+): +([\s\S]+?)$/gm,function(_,m,b){return s.metadata.parsed[m]=b,""})}return a=a.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(h,_,m){return c(m),"\xA8M"}),a=a.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(h,_,m){return _&&(s.metadata.format=_),c(m),"\xA8M"}),a=a.replace(/¨M/g,""),a=s.converter._dispatch("metadata.after",a,l,s),a}),t.subParser("outdent",function(a,l,s){"use strict";return a=s.converter._dispatch("outdent.before",a,l,s),a=a.replace(/^(\t|[ ]{1,4})/gm,"\xA80"),a=a.replace(/¨0/g,""),a=s.converter._dispatch("outdent.after",a,l,s),a}),t.subParser("paragraphs",function(a,l,s){"use strict";a=s.converter._dispatch("paragraphs.before",a,l,s),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var c=a.split(/\n{2,}/g),h=[],_=c.length,m=0;m<_;m++){var b=c[m];b.search(/¨(K|G)(\d+)\1/g)>=0?h.push(b):b.search(/\S/)>=0&&(b=t.subParser("spanGamut")(b,l,s),b=b.replace(/^([ \t]*)/g,"

"),b+="

",h.push(b))}for(_=h.length,m=0;m<_;m++){for(var D="",L=h[m],x=!1;/¨(K|G)(\d+)\1/.test(L);){var C=RegExp.$1,p=RegExp.$2;C==="K"?D=s.gHtmlBlocks[p]:x?D=t.subParser("encodeCode")(s.ghCodeBlocks[p].text,l,s):D=s.ghCodeBlocks[p].codeblock,D=D.replace(/\$/g,"$$$$"),L=L.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/,D),/^]*>\s*]*>/.test(L)&&(x=!0)}h[m]=L}return a=h.join(` +`),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,""),s.converter._dispatch("paragraphs.after",a,l,s)}),t.subParser("runExtension",function(a,l,s,c){"use strict";if(a.filter)l=a.filter(l,c.converter,s);else if(a.regex){var h=a.regex;h instanceof RegExp||(h=new RegExp(h,"g")),l=l.replace(h,a.replace)}return l}),t.subParser("spanGamut",function(a,l,s){"use strict";return a=s.converter._dispatch("spanGamut.before",a,l,s),a=t.subParser("codeSpans")(a,l,s),a=t.subParser("escapeSpecialCharsWithinTagAttributes")(a,l,s),a=t.subParser("encodeBackslashEscapes")(a,l,s),a=t.subParser("images")(a,l,s),a=t.subParser("anchors")(a,l,s),a=t.subParser("autoLinks")(a,l,s),a=t.subParser("simplifiedAutoLinks")(a,l,s),a=t.subParser("emoji")(a,l,s),a=t.subParser("underline")(a,l,s),a=t.subParser("italicsAndBold")(a,l,s),a=t.subParser("strikethrough")(a,l,s),a=t.subParser("ellipsis")(a,l,s),a=t.subParser("hashHTMLSpans")(a,l,s),a=t.subParser("encodeAmpsAndAngles")(a,l,s),l.simpleLineBreaks?/\n\n¨K/.test(a)||(a=a.replace(/\n+/g,`
+`)):a=a.replace(/ +\n/g,`
+`),a=s.converter._dispatch("spanGamut.after",a,l,s),a}),t.subParser("strikethrough",function(a,l,s){"use strict";function c(h){return l.simplifiedAutoLink&&(h=t.subParser("simplifiedAutoLinks")(h,l,s)),""+h+""}return l.strikethrough&&(a=s.converter._dispatch("strikethrough.before",a,l,s),a=a.replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(h,_){return c(_)}),a=s.converter._dispatch("strikethrough.after",a,l,s)),a}),t.subParser("stripLinkDefinitions",function(a,l,s){"use strict";var c=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,h=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;a+="\xA80";var _=function(m,b,D,L,x,C,p){return b=b.toLowerCase(),D.match(/^data:.+?\/.+?;base64,/)?s.gUrls[b]=D.replace(/\s/g,""):s.gUrls[b]=t.subParser("encodeAmpsAndAngles")(D,l,s),C?C+p:(p&&(s.gTitles[b]=p.replace(/"|'/g,""")),l.parseImgDimensions&&L&&x&&(s.gDimensions[b]={width:L,height:x}),"")};return a=a.replace(h,_),a=a.replace(c,_),a=a.replace(/¨0/,""),a}),t.subParser("tables",function(a,l,s){"use strict";if(!l.tables)return a;var c=/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,h=/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;function _(x){return/^:[ \t]*--*$/.test(x)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(x)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(x)?' style="text-align:center;"':""}function m(x,C){var p="";return x=x.trim(),(l.tablesHeaderId||l.tableHeaderId)&&(p=' id="'+x.replace(/ /g,"_").toLowerCase()+'"'),x=t.subParser("spanGamut")(x,l,s),""+x+` +`}function b(x,C){var p=t.subParser("spanGamut")(x,l,s);return""+p+` +`}function D(x,C){for(var p=` + + +`,T=x.length,P=0;P + + +`,P=0;P +`;for(var $=0;$ +`}return p+=` +
+`,p}function L(x){var C,p=x.split(` +`);for(C=0;C"+h+""}),a=a.replace(/\b__(\S[\s\S]*?)__\b/g,function(c,h){return""+h+""})):(a=a.replace(/___(\S[\s\S]*?)___/g,function(c,h){return/\S$/.test(h)?""+h+"":c}),a=a.replace(/__(\S[\s\S]*?)__/g,function(c,h){return/\S$/.test(h)?""+h+"":c})),a=a.replace(/(_)/g,t.helper.escapeCharactersCallback),a=s.converter._dispatch("underline.after",a,l,s)),a}),t.subParser("unescapeSpecialChars",function(a,l,s){"use strict";return a=s.converter._dispatch("unescapeSpecialChars.before",a,l,s),a=a.replace(/¨E(\d+)E/g,function(c,h){var _=parseInt(h);return String.fromCharCode(_)}),a=s.converter._dispatch("unescapeSpecialChars.after",a,l,s),a}),t.subParser("makeMarkdown.blockquote",function(a,l){"use strict";var s="";if(a.hasChildNodes())for(var c=a.childNodes,h=c.length,_=0;_ "+s.split(` +`).join(` +> `),s}),t.subParser("makeMarkdown.codeBlock",function(a,l){"use strict";var s=a.getAttribute("language"),c=a.getAttribute("precodenum");return"```"+s+` +`+l.preList[c]+"\n```"}),t.subParser("makeMarkdown.codeSpan",function(a){"use strict";return"`"+a.innerHTML+"`"}),t.subParser("makeMarkdown.emphasis",function(a,l){"use strict";var s="";if(a.hasChildNodes()){s+="*";for(var c=a.childNodes,h=c.length,_=0;_",a.hasAttribute("width")&&a.hasAttribute("height")&&(l+=" ="+a.getAttribute("width")+"x"+a.getAttribute("height")),a.hasAttribute("title")&&(l+=' "'+a.getAttribute("title")+'"'),l+=")"),l}),t.subParser("makeMarkdown.links",function(a,l){"use strict";var s="";if(a.hasChildNodes()&&a.hasAttribute("href")){var c=a.childNodes,h=c.length;s="[";for(var _=0;_",a.hasAttribute("title")&&(s+=' "'+a.getAttribute("title")+'"'),s+=")"}return s}),t.subParser("makeMarkdown.list",function(a,l,s){"use strict";var c="";if(!a.hasChildNodes())return"";for(var h=a.childNodes,_=h.length,m=a.getAttribute("start")||1,b=0;b<_;++b)if(!(typeof h[b].tagName=="undefined"||h[b].tagName.toLowerCase()!=="li")){var D="";s==="ol"?D=m.toString()+". ":D="- ",c+=D+t.subParser("makeMarkdown.listItem")(h[b],l),++m}return c+=` + +`,c.trim()}),t.subParser("makeMarkdown.listItem",function(a,l){"use strict";for(var s="",c=a.childNodes,h=c.length,_=0;_ + +`;if(a.nodeType!==1)return"";var h=a.tagName.toLowerCase();switch(h){case"h1":s||(c=t.subParser("makeMarkdown.header")(a,l,1)+` + +`);break;case"h2":s||(c=t.subParser("makeMarkdown.header")(a,l,2)+` + +`);break;case"h3":s||(c=t.subParser("makeMarkdown.header")(a,l,3)+` + +`);break;case"h4":s||(c=t.subParser("makeMarkdown.header")(a,l,4)+` + +`);break;case"h5":s||(c=t.subParser("makeMarkdown.header")(a,l,5)+` + +`);break;case"h6":s||(c=t.subParser("makeMarkdown.header")(a,l,6)+` + +`);break;case"p":s||(c=t.subParser("makeMarkdown.paragraph")(a,l)+` + +`);break;case"blockquote":s||(c=t.subParser("makeMarkdown.blockquote")(a,l)+` + +`);break;case"hr":s||(c=t.subParser("makeMarkdown.hr")(a,l)+` + +`);break;case"ol":s||(c=t.subParser("makeMarkdown.list")(a,l,"ol")+` + +`);break;case"ul":s||(c=t.subParser("makeMarkdown.list")(a,l,"ul")+` + +`);break;case"precode":s||(c=t.subParser("makeMarkdown.codeBlock")(a,l)+` + +`);break;case"pre":s||(c=t.subParser("makeMarkdown.pre")(a,l)+` + +`);break;case"table":s||(c=t.subParser("makeMarkdown.table")(a,l)+` + +`);break;case"code":c=t.subParser("makeMarkdown.codeSpan")(a,l);break;case"em":case"i":c=t.subParser("makeMarkdown.emphasis")(a,l);break;case"strong":case"b":c=t.subParser("makeMarkdown.strong")(a,l);break;case"del":c=t.subParser("makeMarkdown.strikethrough")(a,l);break;case"a":c=t.subParser("makeMarkdown.links")(a,l);break;case"img":c=t.subParser("makeMarkdown.image")(a,l);break;default:c=a.outerHTML+` + +`}return c}),t.subParser("makeMarkdown.paragraph",function(a,l){"use strict";var s="";if(a.hasChildNodes())for(var c=a.childNodes,h=c.length,_=0;_"+l.preList[s]+""}),t.subParser("makeMarkdown.strikethrough",function(a,l){"use strict";var s="";if(a.hasChildNodes()){s+="~~";for(var c=a.childNodes,h=c.length,_=0;_tr>th"),_=a.querySelectorAll("tbody>tr"),m,b;for(m=0;mP&&(P=$)}for(m=0;m/g,"\\$1>"),l=l.replace(/^#/gm,"\\#"),l=l.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),l=l.replace(/^( {0,3}\d+)\./gm,"$1\\."),l=l.replace(/^( {0,3})([+-])/gm,"$1\\$2"),l=l.replace(/]([\s]*)\(/g,"\\]$1\\("),l=l.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:"),l});var R=this;typeof define=="function"&&define.amd?define(function(){"use strict";return t}):typeof gn!="undefined"&&gn.exports?gn.exports=t:R.showdown=t}).call(hs)});var Fe=A((px,Pe)=>{"use strict";function vs(e){return typeof e=="undefined"||e===null}function Tp(e){return typeof e=="object"&&e!==null}function Mp(e){return Array.isArray(e)?e:vs(e)?[]:[e]}function Cp(e,r){var t,n,i,u;if(r)for(u=Object.keys(r),t=0,n=u.length;t{"use strict";function cr(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}cr.prototype=Object.create(Error.prototype);cr.prototype.constructor=cr;cr.prototype.toString=function(r){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!r&&this.mark&&(t+=" "+this.mark.toString()),t};ys.exports=cr});var As=A((hx,bs)=>{"use strict";var ws=Fe();function ma(e,r,t,n,i){this.name=e,this.buffer=r,this.position=t,this.line=n,this.column=i}ma.prototype.getSnippet=function(r,t){var n,i,u,d,o;if(!this.buffer)return null;for(r=r||4,t=t||75,n="",i=this.position;i>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(i-1))===-1;)if(i-=1,this.position-i>t/2-1){n=" ... ",i+=5;break}for(u="",d=this.position;dt/2-1){u=" ... ",d-=5;break}return o=this.buffer.slice(i,d),ws.repeat(" ",r)+n+o+u+` +`+ws.repeat(" ",r+this.position-i+n.length)+"^"};ma.prototype.toString=function(r){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),r||(t=this.getSnippet(),t&&(n+=`: +`+t)),n};bs.exports=ma});var te=A((gx,ks)=>{"use strict";var Ss=Ke(),Rp=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Pp=["scalar","sequence","mapping"];function Fp(e){var r={};return e!==null&&Object.keys(e).forEach(function(t){e[t].forEach(function(n){r[String(n)]=t})}),r}function Dp(e,r){if(r=r||{},Object.keys(r).forEach(function(t){if(Rp.indexOf(t)===-1)throw new Ss('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(t){return t},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.defaultStyle=r.defaultStyle||null,this.styleAliases=Fp(r.styleAliases||null),Pp.indexOf(this.kind)===-1)throw new Ss('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}ks.exports=Dp});var De=A((_x,Es)=>{"use strict";var xs=Fe(),yn=Ke(),Op=te();function ha(e,r,t){var n=[];return e.include.forEach(function(i){t=ha(i,r,t)}),e[r].forEach(function(i){t.forEach(function(u,d){u.tag===i.tag&&u.kind===i.kind&&n.push(d)}),t.push(i)}),t.filter(function(i,u){return n.indexOf(u)===-1})}function $p(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},r,t;function n(i){e[i.kind][i.tag]=e.fallback[i.tag]=i}for(r=0,t=arguments.length;r{"use strict";var Hp=te();Ts.exports=new Hp("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var Is=A((yx,Cs)=>{"use strict";var Np=te();Cs.exports=new Np("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var Rs=A((wx,Ls)=>{"use strict";var Bp=te();Ls.exports=new Bp("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var wn=A((bx,Ps)=>{"use strict";var qp=De();Ps.exports=new qp({explicit:[Ms(),Is(),Rs()]})});var Ds=A((Ax,Fs)=>{"use strict";var zp=te();function Up(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function Wp(){return null}function Gp(e){return e===null}Fs.exports=new zp("tag:yaml.org,2002:null",{kind:"scalar",resolve:Up,construct:Wp,predicate:Gp,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var $s=A((Sx,Os)=>{"use strict";var Zp=te();function Yp(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function Kp(e){return e==="true"||e==="True"||e==="TRUE"}function Vp(e){return Object.prototype.toString.call(e)==="[object Boolean]"}Os.exports=new Zp("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Yp,construct:Kp,predicate:Vp,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var Ns=A((kx,Hs)=>{"use strict";var jp=Fe(),Xp=te();function Jp(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Qp(e){return 48<=e&&e<=55}function em(e){return 48<=e&&e<=57}function rm(e){if(e===null)return!1;var r=e.length,t=0,n=!1,i;if(!r)return!1;if(i=e[t],(i==="-"||i==="+")&&(i=e[++t]),i==="0"){if(t+1===r)return!0;if(i=e[++t],i==="b"){for(t++;t=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var zs=A((xx,qs)=>{"use strict";var Bs=Fe(),am=te(),im=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function um(e){return!(e===null||!im.test(e)||e[e.length-1]==="_")}function sm(e){var r,t,n,i;return r=e.replace(/_/g,"").toLowerCase(),t=r[0]==="-"?-1:1,i=[],"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:r.indexOf(":")>=0?(r.split(":").forEach(function(u){i.unshift(parseFloat(u,10))}),r=0,n=1,i.forEach(function(u){r+=u*n,n*=60}),t*r):t*parseFloat(r,10)}var dm=/^[-+]?[0-9]+e/;function lm(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Bs.isNegativeZero(e))return"-0.0";return t=e.toString(10),dm.test(t)?t.replace("e",".e"):t}function om(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!=0||Bs.isNegativeZero(e))}qs.exports=new am("tag:yaml.org,2002:float",{kind:"scalar",resolve:um,construct:sm,predicate:om,represent:lm,defaultStyle:"lowercase"})});var ga=A((Ex,Us)=>{"use strict";var cm=De();Us.exports=new cm({include:[wn()],implicit:[Ds(),$s(),Ns(),zs()]})});var _a=A((Tx,Ws)=>{"use strict";var fm=De();Ws.exports=new fm({include:[ga()]})});var Ks=A((Mx,Ys)=>{"use strict";var pm=te(),Gs=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Zs=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function mm(e){return e===null?!1:Gs.exec(e)!==null||Zs.exec(e)!==null}function hm(e){var r,t,n,i,u,d,o,f=0,g=null,M,S,E;if(r=Gs.exec(e),r===null&&(r=Zs.exec(e)),r===null)throw new Error("Date resolve error");if(t=+r[1],n=+r[2]-1,i=+r[3],!r[4])return new Date(Date.UTC(t,n,i));if(u=+r[4],d=+r[5],o=+r[6],r[7]){for(f=r[7].slice(0,3);f.length<3;)f+="0";f=+f}return r[9]&&(M=+r[10],S=+(r[11]||0),g=(M*60+S)*6e4,r[9]==="-"&&(g=-g)),E=new Date(Date.UTC(t,n,i,u,d,o,f)),g&&E.setTime(E.getTime()-g),E}function gm(e){return e.toISOString()}Ys.exports=new pm("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:mm,construct:hm,instanceOf:Date,represent:gm})});var js=A((Cx,Vs)=>{"use strict";var _m=te();function vm(e){return e==="<<"||e===null}Vs.exports=new _m("tag:yaml.org,2002:merge",{kind:"scalar",resolve:vm})});var Qs=A((Ix,Js)=>{"use strict";var Oe;try{Xs=require,Oe=Xs("buffer").Buffer}catch(e){}var Xs,ym=te(),va=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function wm(e){if(e===null)return!1;var r,t,n=0,i=e.length,u=va;for(t=0;t64)){if(r<0)return!1;n+=6}return n%8==0}function bm(e){var r,t,n=e.replace(/[\r\n=]/g,""),i=n.length,u=va,d=0,o=[];for(r=0;r>16&255),o.push(d>>8&255),o.push(d&255)),d=d<<6|u.indexOf(n.charAt(r));return t=i%4*6,t===0?(o.push(d>>16&255),o.push(d>>8&255),o.push(d&255)):t===18?(o.push(d>>10&255),o.push(d>>2&255)):t===12&&o.push(d>>4&255),Oe?Oe.from?Oe.from(o):new Oe(o):o}function Am(e){var r="",t=0,n,i,u=e.length,d=va;for(n=0;n>18&63],r+=d[t>>12&63],r+=d[t>>6&63],r+=d[t&63]),t=(t<<8)+e[n];return i=u%3,i===0?(r+=d[t>>18&63],r+=d[t>>12&63],r+=d[t>>6&63],r+=d[t&63]):i===2?(r+=d[t>>10&63],r+=d[t>>4&63],r+=d[t<<2&63],r+=d[64]):i===1&&(r+=d[t>>2&63],r+=d[t<<4&63],r+=d[64],r+=d[64]),r}function Sm(e){return Oe&&Oe.isBuffer(e)}Js.exports=new ym("tag:yaml.org,2002:binary",{kind:"scalar",resolve:wm,construct:bm,predicate:Sm,represent:Am})});var rd=A((Lx,ed)=>{"use strict";var km=te(),xm=Object.prototype.hasOwnProperty,Em=Object.prototype.toString;function Tm(e){if(e===null)return!0;var r=[],t,n,i,u,d,o=e;for(t=0,n=o.length;t{"use strict";var Cm=te(),Im=Object.prototype.toString;function Lm(e){if(e===null)return!0;var r,t,n,i,u,d=e;for(u=new Array(d.length),r=0,t=d.length;r{"use strict";var Pm=te(),Fm=Object.prototype.hasOwnProperty;function Dm(e){if(e===null)return!0;var r,t=e;for(r in t)if(Fm.call(t,r)&&t[r]!==null)return!1;return!0}function Om(e){return e!==null?e:{}}ad.exports=new Pm("tag:yaml.org,2002:set",{kind:"mapping",resolve:Dm,construct:Om})});var je=A((Fx,ud)=>{"use strict";var $m=De();ud.exports=new $m({include:[_a()],implicit:[Ks(),js()],explicit:[Qs(),rd(),nd(),id()]})});var dd=A((Dx,sd)=>{"use strict";var Hm=te();function Nm(){return!0}function Bm(){}function qm(){return""}function zm(e){return typeof e=="undefined"}sd.exports=new Hm("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Nm,construct:Bm,predicate:zm,represent:qm})});var od=A((Ox,ld)=>{"use strict";var Um=te();function Wm(e){if(e===null||e.length===0)return!1;var r=e,t=/\/([gim]*)$/.exec(e),n="";return!(r[0]==="/"&&(t&&(n=t[1]),n.length>3||r[r.length-n.length-1]!=="/"))}function Gm(e){var r=e,t=/\/([gim]*)$/.exec(e),n="";return r[0]==="/"&&(t&&(n=t[1]),r=r.slice(1,r.length-n.length-1)),new RegExp(r,n)}function Zm(e){var r="/"+e.source+"/";return e.global&&(r+="g"),e.multiline&&(r+="m"),e.ignoreCase&&(r+="i"),r}function Ym(e){return Object.prototype.toString.call(e)==="[object RegExp]"}ld.exports=new Um("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Wm,construct:Gm,predicate:Ym,represent:Zm})});var pd=A(($x,fd)=>{"use strict";var bn;try{cd=require,bn=cd("esprima")}catch(e){typeof window!="undefined"&&(bn=window.esprima)}var cd,Km=te();function Vm(e){if(e===null)return!1;try{var r="("+e+")",t=bn.parse(r,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch(n){return!1}}function jm(e){var r="("+e+")",t=bn.parse(r,{range:!0}),n=[],i;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(u){n.push(u.name)}),i=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(n,r.slice(i[0]+1,i[1]-1)):new Function(n,"return "+r.slice(i[0],i[1]))}function Xm(e){return e.toString()}function Jm(e){return Object.prototype.toString.call(e)==="[object Function]"}fd.exports=new Km("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Vm,construct:jm,predicate:Jm,represent:Xm})});var fr=A((Hx,hd)=>{"use strict";var md=De();hd.exports=md.DEFAULT=new md({include:[je()],explicit:[dd(),od(),pd()]})});var Fd=A((Nx,pr)=>{"use strict";var ke=Fe(),gd=Ke(),Qm=As(),_d=je(),eh=fr(),Ee=Object.prototype.hasOwnProperty,An=1,vd=2,yd=3,Sn=4,ya=1,rh=2,wd=3,th=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,nh=/[\x85\u2028\u2029]/,ah=/[,\[\]\{\}]/,bd=/^(?:!|!!|![a-z\-]+!)$/i,Ad=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Sd(e){return Object.prototype.toString.call(e)}function we(e){return e===10||e===13}function $e(e){return e===9||e===32}function fe(e){return e===9||e===32||e===10||e===13}function Xe(e){return e===44||e===91||e===93||e===123||e===125}function ih(e){var r;return 48<=e&&e<=57?e-48:(r=e|32,97<=r&&r<=102?r-97+10:-1)}function uh(e){return e===120?2:e===117?4:e===85?8:0}function sh(e){return 48<=e&&e<=57?e-48:-1}function kd(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function dh(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var xd=new Array(256),Ed=new Array(256);for(He=0;He<256;He++)xd[He]=kd(He)?1:0,Ed[He]=kd(He);var He;function lh(e,r){this.input=e,this.filename=r.filename||null,this.schema=r.schema||eh,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Td(e,r){return new gd(r,new Qm(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function q(e,r){throw Td(e,r)}function kn(e,r){e.onWarning&&e.onWarning.call(null,Td(e,r))}var Md={YAML:function(r,t,n){var i,u,d;r.version!==null&&q(r,"duplication of %YAML directive"),n.length!==1&&q(r,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&q(r,"ill-formed argument of the YAML directive"),u=parseInt(i[1],10),d=parseInt(i[2],10),u!==1&&q(r,"unacceptable YAML version of the document"),r.version=n[0],r.checkLineBreaks=d<2,d!==1&&d!==2&&kn(r,"unsupported YAML version of the document")},TAG:function(r,t,n){var i,u;n.length!==2&&q(r,"TAG directive accepts exactly two arguments"),i=n[0],u=n[1],bd.test(i)||q(r,"ill-formed tag handle (first argument) of the TAG directive"),Ee.call(r.tagMap,i)&&q(r,'there is a previously declared suffix for "'+i+'" tag handle'),Ad.test(u)||q(r,"ill-formed tag prefix (second argument) of the TAG directive"),r.tagMap[i]=u}};function Te(e,r,t,n){var i,u,d,o;if(r1&&(e.result+=ke.repeat(` +`,r-1))}function oh(e,r,t){var n,i,u,d,o,f,g,M,S=e.kind,E=e.result,y;if(y=e.input.charCodeAt(e.position),fe(y)||Xe(y)||y===35||y===38||y===42||y===33||y===124||y===62||y===39||y===34||y===37||y===64||y===96||(y===63||y===45)&&(i=e.input.charCodeAt(e.position+1),fe(i)||t&&Xe(i)))return!1;for(e.kind="scalar",e.result="",u=d=e.position,o=!1;y!==0;){if(y===58){if(i=e.input.charCodeAt(e.position+1),fe(i)||t&&Xe(i))break}else if(y===35){if(n=e.input.charCodeAt(e.position-1),fe(n))break}else{if(e.position===e.lineStart&&xn(e)||t&&Xe(y))break;if(we(y))if(f=e.line,g=e.lineStart,M=e.lineIndent,J(e,!1,-1),e.lineIndent>=r){o=!0,y=e.input.charCodeAt(e.position);continue}else{e.position=d,e.line=f,e.lineStart=g,e.lineIndent=M;break}}o&&(Te(e,u,d,!1),ba(e,e.line-f),u=d=e.position,o=!1),$e(y)||(d=e.position+1),y=e.input.charCodeAt(++e.position)}return Te(e,u,d,!1),e.result?!0:(e.kind=S,e.result=E,!1)}function ch(e,r){var t,n,i;if(t=e.input.charCodeAt(e.position),t!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(t=e.input.charCodeAt(e.position))!==0;)if(t===39)if(Te(e,n,e.position,!0),t=e.input.charCodeAt(++e.position),t===39)n=e.position,e.position++,i=e.position;else return!0;else we(t)?(Te(e,n,i,!0),ba(e,J(e,!1,r)),n=i=e.position):e.position===e.lineStart&&xn(e)?q(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);q(e,"unexpected end of the stream within a single quoted scalar")}function fh(e,r){var t,n,i,u,d,o;if(o=e.input.charCodeAt(e.position),o!==34)return!1;for(e.kind="scalar",e.result="",e.position++,t=n=e.position;(o=e.input.charCodeAt(e.position))!==0;){if(o===34)return Te(e,t,e.position,!0),e.position++,!0;if(o===92){if(Te(e,t,e.position,!0),o=e.input.charCodeAt(++e.position),we(o))J(e,!1,r);else if(o<256&&xd[o])e.result+=Ed[o],e.position++;else if((d=uh(o))>0){for(i=d,u=0;i>0;i--)o=e.input.charCodeAt(++e.position),(d=ih(o))>=0?u=(u<<4)+d:q(e,"expected hexadecimal character");e.result+=dh(u),e.position++}else q(e,"unknown escape sequence");t=n=e.position}else we(o)?(Te(e,t,n,!0),ba(e,J(e,!1,r)),t=n=e.position):e.position===e.lineStart&&xn(e)?q(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}q(e,"unexpected end of the stream within a double quoted scalar")}function ph(e,r){var t=!0,n,i=e.tag,u,d=e.anchor,o,f,g,M,S,E={},y,k,v,w;if(w=e.input.charCodeAt(e.position),w===91)f=93,S=!1,u=[];else if(w===123)f=125,S=!0,u={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=u),w=e.input.charCodeAt(++e.position);w!==0;){if(J(e,!0,r),w=e.input.charCodeAt(e.position),w===f)return e.position++,e.tag=i,e.anchor=d,e.kind=S?"mapping":"sequence",e.result=u,!0;t||q(e,"missed comma between flow collection entries"),k=y=v=null,g=M=!1,w===63&&(o=e.input.charCodeAt(e.position+1),fe(o)&&(g=M=!0,e.position++,J(e,!0,r))),n=e.line,Qe(e,r,An,!1,!0),k=e.tag,y=e.result,J(e,!0,r),w=e.input.charCodeAt(e.position),(M||e.line===n)&&w===58&&(g=!0,w=e.input.charCodeAt(++e.position),J(e,!0,r),Qe(e,r,An,!1,!0),v=e.result),S?Je(e,u,E,k,y,v):g?u.push(Je(e,null,E,k,y,v)):u.push(y),J(e,!0,r),w=e.input.charCodeAt(e.position),w===44?(t=!0,w=e.input.charCodeAt(++e.position)):t=!1}q(e,"unexpected end of the stream within a flow collection")}function mh(e,r){var t,n,i=ya,u=!1,d=!1,o=r,f=0,g=!1,M,S;if(S=e.input.charCodeAt(e.position),S===124)n=!1;else if(S===62)n=!0;else return!1;for(e.kind="scalar",e.result="";S!==0;)if(S=e.input.charCodeAt(++e.position),S===43||S===45)ya===i?i=S===43?wd:rh:q(e,"repeat of a chomping mode identifier");else if((M=sh(S))>=0)M===0?q(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):d?q(e,"repeat of an indentation width identifier"):(o=r+M-1,d=!0);else break;if($e(S)){do S=e.input.charCodeAt(++e.position);while($e(S));if(S===35)do S=e.input.charCodeAt(++e.position);while(!we(S)&&S!==0)}for(;S!==0;){for(wa(e),e.lineIndent=0,S=e.input.charCodeAt(e.position);(!d||e.lineIndento&&(o=e.lineIndent),we(S)){f++;continue}if(e.lineIndentr)&&f!==0)q(e,"bad indentation of a sequence entry");else if(e.lineIndentr)&&(Qe(e,r,Sn,!0,i)&&(k?E=e.result:y=e.result),k||(Je(e,g,M,S,E,y,u,d),S=E=y=null),J(e,!0,-1),w=e.input.charCodeAt(e.position)),e.lineIndent>r&&w!==0)q(e,"bad indentation of a mapping entry");else if(e.lineIndentr?f=1:e.lineIndent===r?f=0:e.lineIndentr?f=1:e.lineIndent===r?f=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),S=0,E=e.implicitTypes.length;S tag; it should be "'+y.kind+'", not "'+e.kind+'"'),y.resolve(e.result)?(e.result=y.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):q(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):q(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||M}function yh(e){var r=e.position,t,n,i,u=!1,d;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(d=e.input.charCodeAt(e.position))!==0&&(J(e,!0,-1),d=e.input.charCodeAt(e.position),!(e.lineIndent>0||d!==37));){for(u=!0,d=e.input.charCodeAt(++e.position),t=e.position;d!==0&&!fe(d);)d=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&q(e,"directive name must not be less than one character in length");d!==0;){for(;$e(d);)d=e.input.charCodeAt(++e.position);if(d===35){do d=e.input.charCodeAt(++e.position);while(d!==0&&!we(d));break}if(we(d))break;for(t=e.position;d!==0&&!fe(d);)d=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}d!==0&&wa(e),Ee.call(Md,n)?Md[n](e,n,i):kn(e,'unknown document directive "'+n+'"')}if(J(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,J(e,!0,-1)):u&&q(e,"directives end mark is expected"),Qe(e,e.lineIndent-1,Sn,!1,!0),J(e,!0,-1),e.checkLineBreaks&&nh.test(e.input.slice(r,e.position))&&kn(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&xn(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,J(e,!0,-1));return}if(e.position{"use strict";var mr=Fe(),hr=Ke(),Ah=fr(),Sh=je(),Dd=Object.prototype.toString,Od=Object.prototype.hasOwnProperty,kh=9,gr=10,xh=13,Eh=32,Th=33,Mh=34,$d=35,Ch=37,Ih=38,Lh=39,Rh=42,Hd=44,Ph=45,Nd=58,Fh=61,Dh=62,Oh=63,$h=64,Bd=91,qd=93,Hh=96,zd=123,Nh=124,Ud=125,se={};se[0]="\\0";se[7]="\\a";se[8]="\\b";se[9]="\\t";se[10]="\\n";se[11]="\\v";se[12]="\\f";se[13]="\\r";se[27]="\\e";se[34]='\\"';se[92]="\\\\";se[133]="\\N";se[160]="\\_";se[8232]="\\L";se[8233]="\\P";var Bh=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function qh(e,r){var t,n,i,u,d,o,f;if(r===null)return{};for(t={},n=Object.keys(r),i=0,u=n.length;i0?e.charCodeAt(u-1):null,E=E&&Zd(d,o)}else{for(u=0;un&&e[S+1]!==" ",S=u);else if(!er(d))return En;o=u>0?e.charCodeAt(u-1):null,E=E&&Zd(d,o)}g=g||M&&u-S-1>n&&e[S+1]!==" "}return!f&&!g?E&&!i(e)?Kd:Vd:t>9&&Yd(e)?En:g?Xd:jd}function Yh(e,r,t,n){e.dump=function(){if(r.length===0)return"''";if(!e.noCompatMode&&Bh.indexOf(r)!==-1)return"'"+r+"'";var i=e.indent*Math.max(1,t),u=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),d=n||e.flowLevel>-1&&t>=e.flowLevel;function o(f){return Uh(e,f)}switch(Zh(r,d,e.indent,u,o)){case Kd:return r;case Vd:return"'"+r.replace(/'/g,"''")+"'";case jd:return"|"+Jd(r,e.indent)+Qd(Gd(r,i));case Xd:return">"+Jd(r,e.indent)+Qd(Gd(Kh(r,u),i));case En:return'"'+Vh(r,u)+'"';default:throw new hr("impossible error: invalid scalar style")}}()}function Jd(e,r){var t=Yd(e)?String(r):"",n=e[e.length-1]===` +`,i=n&&(e[e.length-2]===` +`||e===` +`),u=i?"+":n?"":"-";return t+u+` +`}function Qd(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Kh(e,r){for(var t=/(\n+)([^\n]*)/g,n=function(){var g=e.indexOf(` +`);return g=g!==-1?g:e.length,t.lastIndex=g,el(e.slice(0,g),r)}(),i=e[0]===` +`||e[0]===" ",u,d;d=t.exec(e);){var o=d[1],f=d[2];u=f[0]===" ",n+=o+(!i&&!u&&f!==""?` +`:"")+el(f,r),i=u}return n}function el(e,r){if(e===""||e[0]===" ")return e;for(var t=/ [^ ]/g,n,i=0,u,d=0,o=0,f="";n=t.exec(e);)o=n.index,o-i>r&&(u=d>i?d:o,f+=` +`+e.slice(i,u),i=u+1),d=o;return f+=` +`,e.length-i>r&&d>i?f+=e.slice(i,d)+` +`+e.slice(d+1):f+=e.slice(i),f.slice(1)}function Vh(e){for(var r="",t,n,i,u=0;u=55296&&t<=56319&&(n=e.charCodeAt(u+1),n>=56320&&n<=57343)){r+=Wd((t-55296)*1024+n-56320+65536),u++;continue}i=se[t],r+=!i&&er(t)?e[u]:i||Wd(t)}return r}function jh(e,r,t){var n="",i=e.tag,u,d;for(u=0,d=t.length;u1024&&(M+="? "),M+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),!!Ne(e,r,g,!1,!1)&&(M+=e.dump,n+=M));e.tag=i,e.dump="{"+n+"}"}function Qh(e,r,t,n){var i="",u=e.tag,d=Object.keys(t),o,f,g,M,S,E;if(e.sortKeys===!0)d.sort();else if(typeof e.sortKeys=="function")d.sort(e.sortKeys);else if(e.sortKeys)throw new hr("sortKeys must be a boolean or a function");for(o=0,f=d.length;o1024,S&&(e.dump&&gr===e.dump.charCodeAt(0)?E+="?":E+="? "),E+=e.dump,S&&(E+=Aa(e,r)),!!Ne(e,r+1,M,!0,S)&&(e.dump&&gr===e.dump.charCodeAt(0)?E+=":":E+=": ",E+=e.dump,i+=E));e.tag=u,e.dump=i||"{}"}function rl(e,r,t){var n,i,u,d,o,f;for(i=t?e.explicitTypes:e.implicitTypes,u=0,d=i.length;u tag resolver accepts not "'+f+'" style');e.dump=n}return!0}return!1}function Ne(e,r,t,n,i,u){e.tag=null,e.dump=t,rl(e,t,!1)||rl(e,t,!0);var d=Dd.call(e.dump);n&&(n=e.flowLevel<0||e.flowLevel>r);var o=d==="[object Object]"||d==="[object Array]",f,g;if(o&&(f=e.duplicates.indexOf(t),g=f!==-1),(e.tag!==null&&e.tag!=="?"||g||e.indent!==2&&r>0)&&(i=!1),g&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(o&&g&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),d==="[object Object]")n&&Object.keys(e.dump).length!==0?(Qh(e,r,e.dump,i),g&&(e.dump="&ref_"+f+e.dump)):(Jh(e,r,e.dump),g&&(e.dump="&ref_"+f+" "+e.dump));else if(d==="[object Array]"){var M=e.noArrayIndent&&r>0?r-1:r;n&&e.dump.length!==0?(Xh(e,M,e.dump,i),g&&(e.dump="&ref_"+f+e.dump)):(jh(e,M,e.dump),g&&(e.dump="&ref_"+f+" "+e.dump))}else if(d==="[object String]")e.tag!=="?"&&Yh(e,e.dump,r,u);else{if(e.skipInvalid)return!1;throw new hr("unacceptable kind of an object to dump "+d)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function eg(e,r){var t=[],n=[],i,u;for(ka(e,t,n),i=0,u=n.length;i{"use strict";var Tn=Fd(),al=nl();function Mn(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}V.exports.Type=te();V.exports.Schema=De();V.exports.FAILSAFE_SCHEMA=wn();V.exports.JSON_SCHEMA=ga();V.exports.CORE_SCHEMA=_a();V.exports.DEFAULT_SAFE_SCHEMA=je();V.exports.DEFAULT_FULL_SCHEMA=fr();V.exports.load=Tn.load;V.exports.loadAll=Tn.loadAll;V.exports.safeLoad=Tn.safeLoad;V.exports.safeLoadAll=Tn.safeLoadAll;V.exports.dump=al.dump;V.exports.safeDump=al.safeDump;V.exports.YAMLException=Ke();V.exports.MINIMAL_SCHEMA=wn();V.exports.SAFE_SCHEMA=je();V.exports.DEFAULT_SCHEMA=fr();V.exports.scan=Mn("scan");V.exports.parse=Mn("parse");V.exports.compose=Mn("compose");V.exports.addConstructor=Mn("addConstructor")});var sl=A((zx,ul)=>{"use strict";var tg=il();ul.exports=tg});var ol=A((Ux,Ea)=>{var dl=sl(),ng="\\ufeff?",ag=typeof process!="undefined"?process.platform:"",ig="^("+ng+"(= yaml =|---)$([\\s\\S]*?)^(?:\\2|\\.\\.\\.)\\s*$"+(ag==="win32"?"\\r?":"")+"(?:\\n)?)",ll=new RegExp(ig,"m");Ea.exports=ug;Ea.exports.test=lg;function ug(e,r){e=e||"";var t={allowUnsafe:!1};r=r instanceof Object?oa(oa({},t),r):t,r.allowUnsafe=Boolean(r.allowUnsafe);var n=e.split(/(\r?\n)/);return n[0]&&/= yaml =|---/.test(n[0])?dg(e,r.allowUnsafe):{attributes:{},body:e,bodyBegin:1}}function sg(e,r){for(var t=1,n=r.indexOf(` +`),i=e.index+e[0].length;n!==-1;){if(n>=i)return t;t++,n=r.indexOf(` +`,n+1)}return t}function dg(e,r){var t=ll.exec(e);if(!t)return{attributes:{},body:e,bodyBegin:1};var n=r?dl.load:dl.safeLoad,i=t[t.length-1].replace(/^\s+|\s+$/g,""),u=n(i)||{},d=e.replace(t[0],""),o=sg(t,e);return{attributes:u,body:d,bodyBegin:o,frontmatter:i}}function lg(e){return e=e||"",ll.test(e)}});var F=A((_r,Ta)=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.default=Pg;function Fn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Fn=function(t){return typeof t}:Fn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fn(e)}function Pg(e){var r=typeof e=="string"||e instanceof String;if(!r){var t=Fn(e);throw e===null?t="null":t==="object"&&(t=e.constructor.name),new TypeError("Expected a string but received a ".concat(t))}}Ta.exports=_r.default;Ta.exports.default=_r.default});var Dn=A((vr,Ma)=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.default=Og;var Fg=Dg(F());function Dg(e){return e&&e.__esModule?e:{default:e}}function Og(e){return(0,Fg.default)(e),e=Date.parse(e),isNaN(e)?null:new Date(e)}Ma.exports=vr.default;Ma.exports.default=vr.default});var rr=A(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.commaDecimal=ae.dotDecimal=ae.farsiLocales=ae.arabicLocales=ae.englishLocales=ae.decimal=ae.alphanumeric=ae.alpha=void 0;var he={"en-US":/^[A-Z]+$/i,"az-AZ":/^[A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ώ]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fa-IR":/^[ابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$/i,"fi-FI":/^[A-ZÅÄÖ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๐\s]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"vi-VN":/^[A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[א-ת]+$/,fa:/^['آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی']+$/i,"hi-IN":/^[\u0900-\u0961]+[\u0972-\u097F]*$/i};ae.alpha=he;var ge={"en-US":/^[0-9A-Z]+$/i,"az-AZ":/^[0-9A-VXYZÇƏĞİıÖŞÜ]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fi-FI":/^[0-9A-ZÅÄÖ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÄÇÉÊËÍÏÕÓÔÖÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"th-TH":/^[ก-๙\s]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,"vi-VN":/^[0-9A-ZÀÁẠẢÃÂẦẤẬẨẪĂẰẮẶẲẴĐÈÉẸẺẼÊỀẾỆỂỄÌÍỊỈĨÒÓỌỎÕÔỒỐỘỔỖƠỜỚỢỞỠÙÚỤỦŨƯỪỨỰỬỮỲÝỴỶỸ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/,he:/^[0-9א-ת]+$/,fa:/^['0-9آاءأؤئبپتثجچحخدذرزژسشصضطظعغفقکگلمنوهةی۱۲۳۴۵۶۷۸۹۰']+$/i,"hi-IN":/^[\u0900-\u0963]+[\u0966-\u097F]*$/i};ae.alphanumeric=ge;var pe={"en-US":".",ar:"\u066B"};ae.decimal=pe;var Ca=["AU","GB","HK","IN","NZ","ZA","ZM"];ae.englishLocales=Ca;for(On=0;On{"use strict";Object.defineProperty(br,"__esModule",{value:!0});br.default=Ng;br.locales=void 0;var $g=Hg(F()),kl=rr();function Hg(e){return e&&e.__esModule?e:{default:e}}function Ng(e,r){(0,$g.default)(e),r=r||{};var t=new RegExp("^(?:[-+])?(?:[0-9]+)?(?:\\".concat(r.locale?kl.decimal[r.locale]:".","[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"));if(e===""||e==="."||e==="-"||e==="+")return!1;var n=parseFloat(e.replace(",","."));return t.test(e)&&(!r.hasOwnProperty("min")||n>=r.min)&&(!r.hasOwnProperty("max")||n<=r.max)&&(!r.hasOwnProperty("lt")||nr.gt)}var Bg=Object.keys(kl.decimal);br.locales=Bg});var Oa=A((Ar,Da)=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.default=Ug;var qg=zg(Fa());function zg(e){return e&&e.__esModule?e:{default:e}}function Ug(e){return(0,qg.default)(e)?parseFloat(e):NaN}Da.exports=Ar.default;Da.exports.default=Ar.default});var xl=A((Sr,$a)=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.default=Zg;var Wg=Gg(F());function Gg(e){return e&&e.__esModule?e:{default:e}}function Zg(e,r){return(0,Wg.default)(e),parseInt(e,r||10)}$a.exports=Sr.default;$a.exports.default=Sr.default});var El=A((kr,Ha)=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.default=Vg;var Yg=Kg(F());function Kg(e){return e&&e.__esModule?e:{default:e}}function Vg(e,r){return(0,Yg.default)(e),r?e==="1"||/^true$/i.test(e):e!=="0"&&!/^false$/i.test(e)&&e!==""}Ha.exports=kr.default;Ha.exports.default=kr.default});var Tl=A((xr,Na)=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.default=Jg;var jg=Xg(F());function Xg(e){return e&&e.__esModule?e:{default:e}}function Jg(e,r){return(0,jg.default)(e),e===r}Na.exports=xr.default;Na.exports.default=xr.default});var qa=A((Er,Ba)=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.default=Qg;function zn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?zn=function(t){return typeof t}:zn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zn(e)}function Qg(e){return zn(e)==="object"&&e!==null?typeof e.toString=="function"?e=e.toString():e="[object Object]":(e===null||typeof e=="undefined"||isNaN(e)&&!e.length)&&(e=""),String(e)}Ba.exports=Er.default;Ba.exports.default=Er.default});var me=A((Tr,za)=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.default=e0;function e0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;for(var t in r)typeof e[t]=="undefined"&&(e[t]=r[t]);return e}za.exports=Tr.default;za.exports.default=Tr.default});var Cl=A((Mr,Wa)=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.default=a0;var r0=Ua(F()),Ml=Ua(qa()),t0=Ua(me());function Ua(e){return e&&e.__esModule?e:{default:e}}var n0={ignoreCase:!1,minOccurrences:1};function a0(e,r,t){return(0,r0.default)(e),t=(0,t0.default)(t,n0),t.ignoreCase?e.toLowerCase().split((0,Ml.default)(r).toLowerCase()).length>t.minOccurrences:e.split((0,Ml.default)(r)).length>t.minOccurrences}Wa.exports=Mr.default;Wa.exports.default=Mr.default});var Il=A((Cr,Ga)=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.default=s0;var i0=u0(F());function u0(e){return e&&e.__esModule?e:{default:e}}function s0(e,r,t){return(0,i0.default)(e),Object.prototype.toString.call(r)!=="[object RegExp]"&&(r=new RegExp(r,t)),r.test(e)}Ga.exports=Cr.default;Ga.exports.default=Cr.default});var Ya=A((Ir,Za)=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.default=o0;var d0=l0(F());function l0(e){return e&&e.__esModule?e:{default:e}}function Un(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Un=function(t){return typeof t}:Un=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Un(e)}function o0(e,r){(0,d0.default)(e);var t,n;Un(r)==="object"?(t=r.min||0,n=r.max):(t=arguments[1],n=arguments[2]);var i=encodeURI(e).split(/%..|./).length-1;return i>=t&&(typeof n=="undefined"||i<=n)}Za.exports=Ir.default;Za.exports.default=Ir.default});var Wn=A((Lr,Ka)=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.default=m0;var c0=Ll(F()),f0=Ll(me());function Ll(e){return e&&e.__esModule?e:{default:e}}var p0={require_tld:!0,allow_underscores:!1,allow_trailing_dot:!1,allow_numeric_tld:!1,allow_wildcard:!1};function m0(e,r){(0,c0.default)(e),r=(0,f0.default)(r,p0),r.allow_trailing_dot&&e[e.length-1]==="."&&(e=e.substring(0,e.length-1)),r.allow_wildcard===!0&&e.indexOf("*.")===0&&(e=e.substring(2));var t=e.split("."),n=t[t.length-1];return r.require_tld&&(t.length<2||!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(n)||/\s/.test(n))||!r.allow_numeric_tld&&/^\d+$/.test(n)?!1:t.every(function(i){return!(i.length>63||!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(i)||/[\uff01-\uff5e]/.test(i)||/^-|-$/.test(i)||!r.allow_underscores&&/_/.test(i))})}Ka.exports=Lr.default;Ka.exports.default=Lr.default});var Pr=A((Rr,ja)=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.default=Va;var h0=g0(F());function g0(e){return e&&e.__esModule?e:{default:e}}var Rl="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",Ce="(".concat(Rl,"[.]){3}").concat(Rl),_0=new RegExp("^".concat(Ce,"$")),Q="(?:[0-9a-fA-F]{1,4})",v0=new RegExp("^("+"(?:".concat(Q,":){7}(?:").concat(Q,"|:)|")+"(?:".concat(Q,":){6}(?:").concat(Ce,"|:").concat(Q,"|:)|")+"(?:".concat(Q,":){5}(?::").concat(Ce,"|(:").concat(Q,"){1,2}|:)|")+"(?:".concat(Q,":){4}(?:(:").concat(Q,"){0,1}:").concat(Ce,"|(:").concat(Q,"){1,3}|:)|")+"(?:".concat(Q,":){3}(?:(:").concat(Q,"){0,2}:").concat(Ce,"|(:").concat(Q,"){1,4}|:)|")+"(?:".concat(Q,":){2}(?:(:").concat(Q,"){0,3}:").concat(Ce,"|(:").concat(Q,"){1,5}|:)|")+"(?:".concat(Q,":){1}(?:(:").concat(Q,"){0,4}:").concat(Ce,"|(:").concat(Q,"){1,6}|:)|")+"(?::((?::".concat(Q,"){0,5}:").concat(Ce,"|(?::").concat(Q,"){1,7}|:))")+")(%[0-9a-zA-Z-.:]{1,})?$");function Va(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if((0,h0.default)(e),r=String(r),!r)return Va(e,4)||Va(e,6);if(r==="4"){if(!_0.test(e))return!1;var t=e.split(".").sort(function(n,i){return n-i});return t[3]<=255}return r==="6"?!!v0.test(e):!1}ja.exports=Rr.default;ja.exports.default=Rr.default});var Fl=A((Dr,Ja)=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.default=L0;var y0=Fr(F()),w0=Fr(me()),Xa=Fr(Ya()),b0=Fr(Wn()),Pl=Fr(Pr());function Fr(e){return e&&e.__esModule?e:{default:e}}var A0={allow_display_name:!1,require_display_name:!1,allow_utf8_local_part:!0,require_tld:!0,blacklisted_chars:"",ignore_max_length:!1,host_blacklist:[]},S0=/^([^\x00-\x1F\x7F-\x9F\cX]+)]/.test(r);if(t){if(r===e)return!1;var n=r.split('"').length===r.split('\\"').length;if(!n)return!1}return!0}function L0(e,r){if((0,y0.default)(e),r=(0,w0.default)(r,A0),r.require_display_name||r.allow_display_name){var t=e.match(S0);if(t){var n=t[1];if(e=e.replace(n,"").replace(/(^<|>$)/g,""),n.endsWith(" ")&&(n=n.substr(0,n.length-1)),!I0(n))return!1}else if(r.require_display_name)return!1}if(!r.ignore_max_length&&e.length>C0)return!1;var i=e.split("@"),u=i.pop(),d=u.toLowerCase();if(r.host_blacklist.includes(d))return!1;var o=i.join("@");if(r.domain_specific_validation&&(d==="gmail.com"||d==="googlemail.com")){o=o.toLowerCase();var f=o.split("+")[0];if(!(0,Xa.default)(f.replace(/\./g,""),{min:6,max:30}))return!1;for(var g=f.split("."),M=0;M{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.default=U0;var R0=Gn(F()),P0=Gn(Wn()),Dl=Gn(Pr()),F0=Gn(me());function Gn(e){return e&&e.__esModule?e:{default:e}}function D0(e,r){return N0(e)||H0(e,r)||$0(e,r)||O0()}function O0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $0(e,r){if(!!e){if(typeof e=="string")return Ol(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ol(e,r)}}function Ol(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t]/.test(e)||e.indexOf("mailto:")===0||(r=(0,F0.default)(r,B0),r.validate_length&&e.length>=2083)||!r.allow_fragments&&e.includes("#")||!r.allow_query_components&&(e.includes("?")||e.includes("&")))return!1;var t,n,i,u,d,o,f,g;if(f=e.split("#"),e=f.shift(),f=e.split("?"),e=f.shift(),f=e.split("://"),f.length>1){if(t=f.shift().toLowerCase(),r.require_valid_protocol&&r.protocols.indexOf(t)===-1)return!1}else{if(r.require_protocol)return!1;if(e.substr(0,2)==="//"){if(!r.allow_protocol_relative_urls)return!1;f[0]=e.substr(2)}}if(e=f.join("://"),e==="")return!1;if(f=e.split("/"),e=f.shift(),e===""&&!r.require_host)return!0;if(f=e.split("@"),f.length>1){if(r.disallow_auth||f[0]===""||(n=f.shift(),n.indexOf(":")>=0&&n.split(":").length>2))return!1;var M=n.split(":"),S=D0(M,2),E=S[0],y=S[1];if(E===""&&y==="")return!1}u=f.join("@"),o=null,g=null;var k=u.match(q0);if(k?(i="",g=k[1],o=k[2]||null):(f=u.split(":"),i=f.shift(),f.length&&(o=f.join(":"))),o!==null&&o.length>0){if(d=parseInt(o,10),!/^[0-9]+$/.test(o)||d<=0||d>65535)return!1}else if(r.require_port)return!1;return r.host_whitelist?$l(i,r.host_whitelist):!(!(0,Dl.default)(i)&&!(0,P0.default)(i,r)&&(!g||!(0,Dl.default)(g,6))||(i=i||g,r.host_blacklist&&$l(i,r.host_blacklist)))}Qa.exports=Or.default;Qa.exports.default=Or.default});var Nl=A(($r,ei)=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.default=V0;var W0=G0(F());function G0(e){return e&&e.__esModule?e:{default:e}}var Z0=/^(?:[0-9a-fA-F]{2}([-:\s]))([0-9a-fA-F]{2}\1){4}([0-9a-fA-F]{2})$/,Y0=/^([0-9a-fA-F]){12}$/,K0=/^([0-9a-fA-F]{4}\.){2}([0-9a-fA-F]{4})$/;function V0(e,r){return(0,W0.default)(e),r&&(r.no_colons||r.no_separators)?Y0.test(e):Z0.test(e)||K0.test(e)}ei.exports=$r.default;ei.exports.default=$r.default});var Wl=A((Hr,ri)=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.default=J0;var j0=ql(F()),Bl=ql(Pr());function ql(e){return e&&e.__esModule?e:{default:e}}var X0=/^\d{1,3}$/,zl=32,Ul=128;function J0(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(0,j0.default)(e);var t=e.split("/");if(t.length!==2||!X0.test(t[1])||t[1].length>1&&t[1].startsWith("0"))return!1;var n=(0,Bl.default)(t[0],r);if(!n)return!1;var i=null;switch(String(r)){case"4":i=zl;break;case"6":i=Ul;break;default:i=(0,Bl.default)(t[0],"6")?Ul:zl}return t[1]<=i&&t[1]>=0}ri.exports=Hr.default;ri.exports.default=Hr.default});var ni=A((Nr,ti)=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.default=s_;var Gl=Q0(me());function Q0(e){return e&&e.__esModule?e:{default:e}}function e_(e,r){return n_(e)||t_(e,r)||Zl(e,r)||r_()}function r_(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t_(e,r){if(!(typeof Symbol=="undefined"||!(Symbol.iterator in Object(e)))){var t=[],n=!0,i=!1,u=void 0;try{for(var d=e[Symbol.iterator](),o;!(n=(o=d.next()).done)&&(t.push(o.value),!(r&&t.length===r));n=!0);}catch(f){i=!0,u=f}finally{try{!n&&d.return!=null&&d.return()}finally{if(i)throw u}}return t}}function n_(e){if(Array.isArray(e))return e}function a_(e,r){var t;if(typeof Symbol=="undefined"||e[Symbol.iterator]==null){if(Array.isArray(e)||(t=Zl(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(g){throw g},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u=!0,d=!1,o;return{s:function(){t=e[Symbol.iterator]()},n:function(){var g=t.next();return u=g.done,g},e:function(g){d=!0,o=g},f:function(){try{!u&&t.return!=null&&t.return()}finally{if(d)throw o}}}}function Zl(e,r){if(!!e){if(typeof e=="string")return Yl(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Yl(e,r)}}function Yl(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.default=f_;var d_=l_(F());function l_(e){return e&&e.__esModule?e:{default:e}}var o_={loose:!1},Vl=["true","false","1","0"],c_=[].concat(Vl,["yes","no"]);function f_(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o_;return(0,d_.default)(e),r.loose?c_.includes(e.toLowerCase()):Vl.includes(e)}ai.exports=Br.default;ai.exports.default=Br.default});var Xl=A((qr,ii)=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.default=g_;var p_=m_(F());function m_(e){return e&&e.__esModule?e:{default:e}}var h_=/^[A-Za-z]{2,4}([_-]([A-Za-z]{4}|[\d]{3}))?([_-]([A-Za-z]{2}|[\d]{3}))?$/;function g_(e){return(0,p_.default)(e),e==="en_US_POSIX"||e==="ca_ES_VALENCIA"?!0:h_.test(e)}ii.exports=qr.default;ii.exports.default=qr.default});var Jl=A(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.default=y_;zr.locales=void 0;var __=v_(F()),ui=rr();function v_(e){return e&&e.__esModule?e:{default:e}}function y_(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};(0,__.default)(e);var n=e,i=t.ignore;if(i)if(i instanceof RegExp)n=n.replace(i,"");else if(typeof i=="string")n=n.replace(new RegExp("[".concat(i.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"");else throw new Error("ignore should be instance of a String or RegExp");if(r in ui.alpha)return ui.alpha[r].test(n);throw new Error("Invalid locale '".concat(r,"'"))}var w_=Object.keys(ui.alpha);zr.locales=w_});var Ql=A(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.default=S_;Ur.locales=void 0;var b_=A_(F()),si=rr();function A_(e){return e&&e.__esModule?e:{default:e}}function S_(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};(0,b_.default)(e);var n=e,i=t.ignore;if(i)if(i instanceof RegExp)n=n.replace(i,"");else if(typeof i=="string")n=n.replace(new RegExp("[".concat(i.replace(/[-[\]{}()*+?.,\\^$|#\\s]/g,"\\$&"),"]"),"g"),"");else throw new Error("ignore should be instance of a String or RegExp");if(r in si.alphanumeric)return si.alphanumeric[r].test(n);throw new Error("Invalid locale '".concat(r,"'"))}var k_=Object.keys(si.alphanumeric);Ur.locales=k_});var eo=A((Wr,di)=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.default=C_;var x_=T_(F()),E_=rr();function T_(e){return e&&e.__esModule?e:{default:e}}var M_=/^[0-9]+$/;function C_(e,r){return(0,x_.default)(e),r&&r.no_symbols?M_.test(e):new RegExp("^[+-]?([0-9]*[".concat((r||{}).locale?E_.decimal[r.locale]:".","])?[0-9]+$")).test(e)}di.exports=Wr.default;di.exports.default=Wr.default});var to=A((Gr,li)=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.default=R_;var I_=L_(F());function L_(e){return e&&e.__esModule?e:{default:e}}var ro={AM:/^[A-Z]{2}\d{7}$/,AR:/^[A-Z]{3}\d{6}$/,AT:/^[A-Z]\d{7}$/,AU:/^[A-Z]\d{7}$/,BE:/^[A-Z]{2}\d{6}$/,BG:/^\d{9}$/,BR:/^[A-Z]{2}\d{6}$/,BY:/^[A-Z]{2}\d{7}$/,CA:/^[A-Z]{2}\d{6}$/,CH:/^[A-Z]\d{7}$/,CN:/^G\d{8}$|^E(?![IO])[A-Z0-9]\d{7}$/,CY:/^[A-Z](\d{6}|\d{8})$/,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/,DK:/^\d{9}$/,DZ:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/,FI:/^[A-Z]{2}\d{7}$/,FR:/^\d{2}[A-Z]{2}\d{5}$/,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/,IE:/^[A-Z0-9]{2}\d{7}$/,IN:/^[A-Z]{1}-?\d{7}$/,ID:/^[A-C]\d{7}$/,IR:/^[A-Z]\d{8}$/,IS:/^(A)\d{7}$/,IT:/^[A-Z0-9]{2}\d{7}$/,JP:/^[A-Z]{2}\d{7}$/,KR:/^[MS]\d{8}$/,LT:/^[A-Z0-9]{8}$/,LU:/^[A-Z0-9]{8}$/,LV:/^[A-Z0-9]{2}\d{7}$/,LY:/^[A-Z0-9]{8}$/,MT:/^\d{7}$/,MZ:/^([A-Z]{2}\d{7})|(\d{2}[A-Z]{2}\d{5})$/,MY:/^[AHK]\d{8}$/,NL:/^[A-Z]{2}[A-Z0-9]{6}\d$/,PL:/^[A-Z]{2}\d{7}$/,PT:/^[A-Z]\d{6}$/,RO:/^\d{8,9}$/,RU:/^\d{9}$/,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/,SK:/^[0-9A-Z]\d{7}$/,TR:/^[A-Z]\d{8}$/,UA:/^[A-Z]{2}\d{6}$/,US:/^\d{9}$/};function R_(e,r){(0,I_.default)(e);var t=e.replace(/\s/g,"").toUpperCase();return r.toUpperCase()in ro&&ro[r].test(t)}li.exports=Gr.default;li.exports.default=Gr.default});var Zn=A((Zr,oi)=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.default=$_;var P_=F_(F());function F_(e){return e&&e.__esModule?e:{default:e}}var D_=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,O_=/^[-+]?[0-9]+$/;function $_(e,r){(0,P_.default)(e),r=r||{};var t=r.hasOwnProperty("allow_leading_zeroes")&&!r.allow_leading_zeroes?D_:O_,n=!r.hasOwnProperty("min")||e>=r.min,i=!r.hasOwnProperty("max")||e<=r.max,u=!r.hasOwnProperty("lt")||er.gt;return t.test(e)&&n&&i&&u&&d}oi.exports=Zr.default;oi.exports.default=Zr.default});var no=A((Yr,ci)=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.default=B_;var H_=N_(Zn());function N_(e){return e&&e.__esModule?e:{default:e}}function B_(e){return(0,H_.default)(e,{min:0,max:65535})}ci.exports=Yr.default;ci.exports.default=Yr.default});var ao=A((Kr,fi)=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.default=U_;var q_=z_(F());function z_(e){return e&&e.__esModule?e:{default:e}}function U_(e){return(0,q_.default)(e),e===e.toLowerCase()}fi.exports=Kr.default;fi.exports.default=Kr.default});var io=A((Vr,pi)=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.default=Z_;var W_=G_(F());function G_(e){return e&&e.__esModule?e:{default:e}}function Z_(e){return(0,W_.default)(e),e===e.toUpperCase()}pi.exports=Vr.default;pi.exports.default=Vr.default});var uo=A((jr,mi)=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.default=X_;var Y_=K_(F());function K_(e){return e&&e.__esModule?e:{default:e}}var V_=/^[0-9]{15}$/,j_=/^\d{2}-\d{6}-\d{6}-\d{1}$/;function X_(e,r){(0,Y_.default)(e),r=r||{};var t=V_;if(r.allow_hyphens&&(t=j_),!t.test(e))return!1;e=e.replace(/-/g,"");for(var n=0,i=2,u=14,d=0;d=10?n+=f%10+1:n+=f,i===1?i+=1:i-=1}var g=(10-n%10)%10;return g===parseInt(e.substring(14,15),10)}mi.exports=jr.default;mi.exports.default=jr.default});var so=A((Xr,hi)=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.default=rv;var J_=Q_(F());function Q_(e){return e&&e.__esModule?e:{default:e}}var ev=/^[\x00-\x7F]+$/;function rv(e){return(0,J_.default)(e),ev.test(e)}hi.exports=Xr.default;hi.exports.default=Xr.default});var gi=A(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.default=av;Jr.fullWidth=void 0;var tv=nv(F());function nv(e){return e&&e.__esModule?e:{default:e}}var lo=/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;Jr.fullWidth=lo;function av(e){return(0,tv.default)(e),lo.test(e)}});var _i=A(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.default=sv;Qr.halfWidth=void 0;var iv=uv(F());function uv(e){return e&&e.__esModule?e:{default:e}}var oo=/[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;Qr.halfWidth=oo;function sv(e){return(0,iv.default)(e),oo.test(e)}});var co=A((et,vi)=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=fv;var dv=cv(F()),lv=gi(),ov=_i();function cv(e){return e&&e.__esModule?e:{default:e}}function fv(e){return(0,dv.default)(e),lv.fullWidth.test(e)&&ov.halfWidth.test(e)}vi.exports=et.default;vi.exports.default=et.default});var fo=A((rt,yi)=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.default=gv;var pv=mv(F());function mv(e){return e&&e.__esModule?e:{default:e}}var hv=/[^\x00-\x7F]/;function gv(e){return(0,pv.default)(e),hv.test(e)}yi.exports=rt.default;yi.exports.default=rt.default});var po=A((tt,wi)=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=_v;function _v(e,r){var t=e.join("");return new RegExp(t,r)}wi.exports=tt.default;wi.exports.default=tt.default});var ho=A((nt,bi)=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=bv;var vv=mo(F()),yv=mo(po());function mo(e){return e&&e.__esModule?e:{default:e}}var wv=(0,yv.default)(["^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)","(?:-((?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-z-][0-9a-z-]*))*))","?(?:\\+([0-9a-z-]+(?:\\.[0-9a-z-]+)*))?$"],"i");function bv(e){return(0,vv.default)(e),wv.test(e)}bi.exports=nt.default;bi.exports.default=nt.default});var go=A((at,Ai)=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=xv;var Av=Sv(F());function Sv(e){return e&&e.__esModule?e:{default:e}}var kv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/;function xv(e){return(0,Av.default)(e),kv.test(e)}Ai.exports=at.default;Ai.exports.default=at.default});var _o=A((tr,Si)=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.default=void 0;var Ev=function(r,t){return r.some(function(n){return t===n})},Tv=Ev;tr.default=Tv;Si.exports=tr.default;Si.exports.default=tr.default});var yo=A((it,xi)=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.default=Fv;var Mv=ki(me()),Cv=ki(F()),Iv=ki(_o()),vo=rr();function ki(e){return e&&e.__esModule?e:{default:e}}function Lv(e){var r=new RegExp("^[-+]?([0-9]+)?(\\".concat(vo.decimal[e.locale],"[0-9]{").concat(e.decimal_digits,"})").concat(e.force_decimal?"":"?","$"));return r}var Rv={force_decimal:!1,decimal_digits:"1,",locale:"en-US"},Pv=["","-","+"];function Fv(e,r){if((0,Cv.default)(e),r=(0,Mv.default)(r,Rv),r.locale in vo.decimal)return!(0,Iv.default)(Pv,e.replace(/ /g,""))&&Lv(r).test(e);throw new Error("Invalid locale '".concat(r.locale,"'"))}xi.exports=it.default;xi.exports.default=it.default});var Ti=A((ut,Ei)=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=Hv;var Dv=Ov(F());function Ov(e){return e&&e.__esModule?e:{default:e}}var $v=/^(0x|0h)?[0-9A-F]+$/i;function Hv(e){return(0,Dv.default)(e),$v.test(e)}Ei.exports=ut.default;Ei.exports.default=ut.default});var wo=A((st,Mi)=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=zv;var Nv=Bv(F());function Bv(e){return e&&e.__esModule?e:{default:e}}var qv=/^(0o)?[0-7]+$/i;function zv(e){return(0,Nv.default)(e),qv.test(e)}Mi.exports=st.default;Mi.exports.default=st.default});var Ao=A((dt,Ci)=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.default=Gv;var Uv=bo(F()),Wv=bo(Oa());function bo(e){return e&&e.__esModule?e:{default:e}}function Gv(e,r){return(0,Uv.default)(e),(0,Wv.default)(e)%parseInt(r,10)==0}Ci.exports=dt.default;Ci.exports.default=dt.default});var So=A((lt,Ii)=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.default=Vv;var Zv=Yv(F());function Yv(e){return e&&e.__esModule?e:{default:e}}var Kv=/^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/i;function Vv(e){return(0,Zv.default)(e),Kv.test(e)}Ii.exports=lt.default;Ii.exports.default=lt.default});var Eo=A((ot,Li)=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.default=e3;var jv=Xv(F());function Xv(e){return e&&e.__esModule?e:{default:e}}var ko=/^rgb\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\)$/,xo=/^rgba\((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)$/,Jv=/^rgb\((([0-9]%|[1-9][0-9]%|100%),){2}([0-9]%|[1-9][0-9]%|100%)\)/,Qv=/^rgba\((([0-9]%|[1-9][0-9]%|100%),){3}(0?\.\d|1(\.0)?|0(\.0)?)\)/;function e3(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return(0,jv.default)(e),r?ko.test(e)||xo.test(e)||Jv.test(e)||Qv.test(e):ko.test(e)||xo.test(e)}Li.exports=ot.default;Li.exports.default=ot.default});var To=A((ct,Ri)=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=i3;var r3=t3(F());function t3(e){return e&&e.__esModule?e:{default:e}}var n3=/^hsla?\(((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn)?(,(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}(,((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?))?\)$/i,a3=/^hsla?\(((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?))(deg|grad|rad|turn)?(\s(\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%){2}\s?(\/\s((\+|\-)?([0-9]+(\.[0-9]+)?(e(\+|\-)?[0-9]+)?|\.[0-9]+(e(\+|\-)?[0-9]+)?)%?)\s?)?\)$/i;function i3(e){(0,r3.default)(e);var r=e.replace(/\s+/g," ").replace(/\s?(hsla?\(|\)|,)\s?/ig,"$1");return r.indexOf(",")!==-1?n3.test(r):a3.test(r)}Ri.exports=ct.default;Ri.exports.default=ct.default});var Mo=A((ft,Pi)=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.default=l3;var u3=s3(F());function s3(e){return e&&e.__esModule?e:{default:e}}var d3=/^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;function l3(e){return(0,u3.default)(e),d3.test(e)}Pi.exports=ft.default;Pi.exports.default=ft.default});var Co=A(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=m3;pt.locales=void 0;var o3=c3(F());function c3(e){return e&&e.__esModule?e:{default:e}}var Fi={AD:/^(AD[0-9]{2})\d{8}[A-Z0-9]{12}$/,AE:/^(AE[0-9]{2})\d{3}\d{16}$/,AL:/^(AL[0-9]{2})\d{8}[A-Z0-9]{16}$/,AT:/^(AT[0-9]{2})\d{16}$/,AZ:/^(AZ[0-9]{2})[A-Z0-9]{4}\d{20}$/,BA:/^(BA[0-9]{2})\d{16}$/,BE:/^(BE[0-9]{2})\d{12}$/,BG:/^(BG[0-9]{2})[A-Z]{4}\d{6}[A-Z0-9]{8}$/,BH:/^(BH[0-9]{2})[A-Z]{4}[A-Z0-9]{14}$/,BR:/^(BR[0-9]{2})\d{23}[A-Z]{1}[A-Z0-9]{1}$/,BY:/^(BY[0-9]{2})[A-Z0-9]{4}\d{20}$/,CH:/^(CH[0-9]{2})\d{5}[A-Z0-9]{12}$/,CR:/^(CR[0-9]{2})\d{18}$/,CY:/^(CY[0-9]{2})\d{8}[A-Z0-9]{16}$/,CZ:/^(CZ[0-9]{2})\d{20}$/,DE:/^(DE[0-9]{2})\d{18}$/,DK:/^(DK[0-9]{2})\d{14}$/,DO:/^(DO[0-9]{2})[A-Z]{4}\d{20}$/,EE:/^(EE[0-9]{2})\d{16}$/,EG:/^(EG[0-9]{2})\d{25}$/,ES:/^(ES[0-9]{2})\d{20}$/,FI:/^(FI[0-9]{2})\d{14}$/,FO:/^(FO[0-9]{2})\d{14}$/,FR:/^(FR[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,GB:/^(GB[0-9]{2})[A-Z]{4}\d{14}$/,GE:/^(GE[0-9]{2})[A-Z0-9]{2}\d{16}$/,GI:/^(GI[0-9]{2})[A-Z]{4}[A-Z0-9]{15}$/,GL:/^(GL[0-9]{2})\d{14}$/,GR:/^(GR[0-9]{2})\d{7}[A-Z0-9]{16}$/,GT:/^(GT[0-9]{2})[A-Z0-9]{4}[A-Z0-9]{20}$/,HR:/^(HR[0-9]{2})\d{17}$/,HU:/^(HU[0-9]{2})\d{24}$/,IE:/^(IE[0-9]{2})[A-Z0-9]{4}\d{14}$/,IL:/^(IL[0-9]{2})\d{19}$/,IQ:/^(IQ[0-9]{2})[A-Z]{4}\d{15}$/,IR:/^(IR[0-9]{2})0\d{2}0\d{18}$/,IS:/^(IS[0-9]{2})\d{22}$/,IT:/^(IT[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,JO:/^(JO[0-9]{2})[A-Z]{4}\d{22}$/,KW:/^(KW[0-9]{2})[A-Z]{4}[A-Z0-9]{22}$/,KZ:/^(KZ[0-9]{2})\d{3}[A-Z0-9]{13}$/,LB:/^(LB[0-9]{2})\d{4}[A-Z0-9]{20}$/,LC:/^(LC[0-9]{2})[A-Z]{4}[A-Z0-9]{24}$/,LI:/^(LI[0-9]{2})\d{5}[A-Z0-9]{12}$/,LT:/^(LT[0-9]{2})\d{16}$/,LU:/^(LU[0-9]{2})\d{3}[A-Z0-9]{13}$/,LV:/^(LV[0-9]{2})[A-Z]{4}[A-Z0-9]{13}$/,MC:/^(MC[0-9]{2})\d{10}[A-Z0-9]{11}\d{2}$/,MD:/^(MD[0-9]{2})[A-Z0-9]{20}$/,ME:/^(ME[0-9]{2})\d{18}$/,MK:/^(MK[0-9]{2})\d{3}[A-Z0-9]{10}\d{2}$/,MR:/^(MR[0-9]{2})\d{23}$/,MT:/^(MT[0-9]{2})[A-Z]{4}\d{5}[A-Z0-9]{18}$/,MU:/^(MU[0-9]{2})[A-Z]{4}\d{19}[A-Z]{3}$/,MZ:/^(MZ[0-9]{2})\d{21}$/,NL:/^(NL[0-9]{2})[A-Z]{4}\d{10}$/,NO:/^(NO[0-9]{2})\d{11}$/,PK:/^(PK[0-9]{2})[A-Z0-9]{4}\d{16}$/,PL:/^(PL[0-9]{2})\d{24}$/,PS:/^(PS[0-9]{2})[A-Z0-9]{4}\d{21}$/,PT:/^(PT[0-9]{2})\d{21}$/,QA:/^(QA[0-9]{2})[A-Z]{4}[A-Z0-9]{21}$/,RO:/^(RO[0-9]{2})[A-Z]{4}[A-Z0-9]{16}$/,RS:/^(RS[0-9]{2})\d{18}$/,SA:/^(SA[0-9]{2})\d{2}[A-Z0-9]{18}$/,SC:/^(SC[0-9]{2})[A-Z]{4}\d{20}[A-Z]{3}$/,SE:/^(SE[0-9]{2})\d{20}$/,SI:/^(SI[0-9]{2})\d{15}$/,SK:/^(SK[0-9]{2})\d{20}$/,SM:/^(SM[0-9]{2})[A-Z]{1}\d{10}[A-Z0-9]{12}$/,SV:/^(SV[0-9]{2})[A-Z0-9]{4}\d{20}$/,TL:/^(TL[0-9]{2})\d{19}$/,TN:/^(TN[0-9]{2})\d{20}$/,TR:/^(TR[0-9]{2})\d{5}[A-Z0-9]{17}$/,UA:/^(UA[0-9]{2})\d{6}[A-Z0-9]{19}$/,VA:/^(VA[0-9]{2})\d{18}$/,VG:/^(VG[0-9]{2})[A-Z0-9]{4}\d{16}$/,XK:/^(XK[0-9]{2})\d{16}$/};function f3(e){var r=e.replace(/[\s\-]+/gi,"").toUpperCase(),t=r.slice(0,2).toUpperCase();return t in Fi&&Fi[t].test(r)}function p3(e){var r=e.replace(/[^A-Z0-9]+/gi,"").toUpperCase(),t=r.slice(4)+r.slice(0,4),n=t.replace(/[A-Z]/g,function(u){return u.charCodeAt(0)-55}),i=n.match(/\d{1,7}/g).reduce(function(u,d){return Number(u+d)%97},"");return i===1}function m3(e){return(0,o3.default)(e),f3(e)&&p3(e)}var h3=Object.keys(Fi);pt.locales=h3});var Di=A(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.default=v3;mt.CountryCodes=void 0;var g3=_3(F());function _3(e){return e&&e.__esModule?e:{default:e}}var Io=new Set(["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]);function v3(e){return(0,g3.default)(e),Io.has(e.toUpperCase())}var y3=Io;mt.CountryCodes=y3});var Lo=A((ht,Oi)=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.default=k3;var w3=A3(F()),b3=Di();function A3(e){return e&&e.__esModule?e:{default:e}}var S3=/^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$/;function k3(e){return(0,w3.default)(e),b3.CountryCodes.has(e.slice(4,6).toUpperCase())?S3.test(e):!1}Oi.exports=ht.default;Oi.exports.default=ht.default});var Ro=A((gt,$i)=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.default=M3;var x3=E3(F());function E3(e){return e&&e.__esModule?e:{default:e}}var T3=/^[a-f0-9]{32}$/;function M3(e){return(0,x3.default)(e),T3.test(e)}$i.exports=gt.default;$i.exports.default=gt.default});var Po=A((_t,Hi)=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.default=R3;var C3=I3(F());function I3(e){return e&&e.__esModule?e:{default:e}}var L3={md5:32,md4:32,sha1:40,sha256:64,sha384:96,sha512:128,ripemd128:32,ripemd160:40,tiger128:32,tiger160:40,tiger192:48,crc32:8,crc32b:8};function R3(e,r){(0,C3.default)(e);var t=new RegExp("^[a-fA-F0-9]{".concat(L3[r],"}$"));return t.test(e)}Hi.exports=_t.default;Hi.exports.default=_t.default});var Bi=A((vt,Ni)=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=H3;var P3=Fo(F()),F3=Fo(me());function Fo(e){return e&&e.__esModule?e:{default:e}}var D3=/[^A-Z0-9+\/=]/i,O3=/^[A-Z0-9_\-]*$/i,$3={urlSafe:!1};function H3(e,r){(0,P3.default)(e),r=(0,F3.default)(r,$3);var t=e.length;if(r.urlSafe)return O3.test(e);if(t%4!=0||D3.test(e))return!1;var n=e.indexOf("=");return n===-1||n===t-1||n===t-2&&e[t-1]==="="}Ni.exports=vt.default;Ni.exports.default=vt.default});var Oo=A((yt,qi)=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.default=q3;var N3=Do(F()),B3=Do(Bi());function Do(e){return e&&e.__esModule?e:{default:e}}function q3(e){(0,N3.default)(e);var r=e.split("."),t=r.length;return t>3||t<2?!1:r.reduce(function(n,i){return n&&(0,B3.default)(i,{urlSafe:!0})},!0)}qi.exports=yt.default;qi.exports.default=yt.default});var Ho=A((wt,zi)=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=G3;var z3=$o(F()),U3=$o(me());function $o(e){return e&&e.__esModule?e:{default:e}}function Yn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Yn=function(t){return typeof t}:Yn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yn(e)}var W3={allow_primitives:!1};function G3(e,r){(0,z3.default)(e);try{r=(0,U3.default)(r,W3);var t=[];r.allow_primitives&&(t=[null,!1,!0]);var n=JSON.parse(e);return t.includes(n)||!!n&&Yn(n)==="object"}catch(i){}return!1}zi.exports=wt.default;zi.exports.default=wt.default});var Bo=A((bt,Ui)=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=V3;var Z3=No(F()),Y3=No(me());function No(e){return e&&e.__esModule?e:{default:e}}var K3={ignore_whitespace:!1};function V3(e,r){return(0,Z3.default)(e),r=(0,Y3.default)(r,K3),(r.ignore_whitespace?e.trim().length:e.length)===0}Ui.exports=bt.default;Ui.exports.default=bt.default});var qo=A((At,Wi)=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=J3;var j3=X3(F());function X3(e){return e&&e.__esModule?e:{default:e}}function Kn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Kn=function(t){return typeof t}:Kn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kn(e)}function J3(e,r){(0,j3.default)(e);var t,n;Kn(r)==="object"?(t=r.min||0,n=r.max):(t=arguments[1]||0,n=arguments[2]);var i=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)||[],u=e.length-i.length;return u>=t&&(typeof n=="undefined"||u<=n)}Wi.exports=At.default;Wi.exports.default=At.default});var zo=A((St,Gi)=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=t1;var Q3=e1(F());function e1(e){return e&&e.__esModule?e:{default:e}}var r1={1:/^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,2:/^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};function t1(e,r){(0,Q3.default)(e);var t=r1[[void 0,null].includes(r)?"all":r];return!!t&&t.test(e)}Gi.exports=St.default;Gi.exports.default=St.default});var Wo=A((kt,Zi)=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=i1;var n1=Uo(F()),a1=Uo(Ti());function Uo(e){return e&&e.__esModule?e:{default:e}}function i1(e){return(0,n1.default)(e),(0,a1.default)(e)&&e.length===24}Zi.exports=kt.default;Zi.exports.default=kt.default});var Yo=A((xt,Yi)=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=s1;var u1=Zo(F()),Go=Zo(Dn());function Zo(e){return e&&e.__esModule?e:{default:e}}function s1(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:String(new Date);(0,u1.default)(e);var t=(0,Go.default)(r),n=(0,Go.default)(e);return!!(n&&t&&n>t)}Yi.exports=xt.default;Yi.exports.default=xt.default});var jo=A((Et,Ki)=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.default=l1;var d1=Vo(F()),Ko=Vo(Dn());function Vo(e){return e&&e.__esModule?e:{default:e}}function l1(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:String(new Date);(0,d1.default)(e);var t=(0,Ko.default)(r),n=(0,Ko.default)(e);return!!(n&&t&&n{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.default=f1;var o1=Xo(F()),c1=Xo(qa());function Xo(e){return e&&e.__esModule?e:{default:e}}function Vn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vn=function(t){return typeof t}:Vn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vn(e)}function f1(e,r){(0,o1.default)(e);var t;if(Object.prototype.toString.call(r)==="[object Array]"){var n=[];for(t in r)({}).hasOwnProperty.call(r,t)&&(n[t]=(0,c1.default)(r[t]));return n.indexOf(e)>=0}else{if(Vn(r)==="object")return r.hasOwnProperty(e);if(r&&typeof r.indexOf=="function")return r.indexOf(e)>=0}return!1}Vi.exports=Tt.default;Vi.exports.default=Tt.default});var Qo=A((Mt,ji)=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.default=g1;var p1=m1(F());function m1(e){return e&&e.__esModule?e:{default:e}}var h1=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/;function g1(e){(0,p1.default)(e);var r=e.replace(/[- ]+/g,"");if(!h1.test(r))return!1;for(var t=0,n,i,u,d=r.length-1;d>=0;d--)n=r.substring(d,d+1),i=parseInt(n,10),u?(i*=2,i>=10?t+=i%10+1:t+=i):t+=i,u=!u;return!!(t%10==0?r:!1)}ji.exports=Mt.default;ji.exports.default=Mt.default});var rc=A((It,Xi)=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.default=v1;var jn=ec(F()),_1=ec(Zn());function ec(e){return e&&e.__esModule?e:{default:e}}var Ct={PL:function(r){(0,jn.default)(r);var t={1:1,2:3,3:7,4:9,5:1,6:3,7:7,8:9,9:1,10:3,11:0};if(r!=null&&r.length===11&&(0,_1.default)(r,{allow_leading_zeroes:!0})){var n=r.split("").slice(0,-1),i=n.reduce(function(o,f,g){return o+Number(f)*t[g+1]},0),u=i%10,d=Number(r.charAt(r.length-1));if(u===0&&d===0||d===10-u)return!0}return!1},ES:function(r){(0,jn.default)(r);var t=/^[0-9X-Z][0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/,n={X:0,Y:1,Z:2},i=["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"],u=r.trim().toUpperCase();if(!t.test(u))return!1;var d=u.slice(0,-1).replace(/[X,Y,Z]/g,function(o){return n[o]});return u.endsWith(i[d%23])},FI:function(r){if((0,jn.default)(r),r.length!==11||!r.match(/^\d{6}[\-A\+]\d{3}[0-9ABCDEFHJKLMNPRSTUVWXY]{1}$/))return!1;var t="0123456789ABCDEFHJKLMNPRSTUVWXY",n=parseInt(r.slice(0,6),10)*1e3+parseInt(r.slice(7,10),10),i=n%31,u=t[i];return u===r.slice(10,11)},IN:function(r){var t=/^[1-9]\d{3}\s?\d{4}\s?\d{4}$/,n=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],i=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],u=r.trim();if(!t.test(u))return!1;var d=0,o=u.replace(/\s/g,"").split("").map(Number).reverse();return o.forEach(function(f,g){d=n[d][i[g%8][f]]}),d===0},IR:function(r){if(!r.match(/^\d{10}$/)||(r="0000".concat(r).substr(r.length-6),parseInt(r.substr(3,6),10)===0))return!1;for(var t=parseInt(r.substr(9,1),10),n=0,i=0;i<9;i++)n+=parseInt(r.substr(i,1),10)*(10-i);return n%=11,n<2&&t===n||n>=2&&t===11-n},IT:function(r){return r.length!==9||r==="CA00000AA"?!1:r.search(/C[A-Z][0-9]{5}[A-Z]{2}/i)>-1},NO:function(r){var t=r.trim();if(isNaN(Number(t))||t.length!==11||t==="00000000000")return!1;var n=t.split("").map(Number),i=(11-(3*n[0]+7*n[1]+6*n[2]+1*n[3]+8*n[4]+9*n[5]+4*n[6]+5*n[7]+2*n[8])%11)%11,u=(11-(5*n[0]+4*n[1]+3*n[2]+2*n[3]+7*n[4]+6*n[5]+5*n[6]+4*n[7]+3*n[8]+2*i)%11)%11;return!(i!==n[9]||u!==n[10])},TH:function(r){if(!r.match(/^[1-8]\d{12}$/))return!1;for(var t=0,n=0;n<12;n++)t+=parseInt(r[n],10)*(13-n);return r[12]===((11-t%11)%10).toString()},LK:function(r){var t=/^[1-9]\d{8}[vx]$/i,n=/^[1-9]\d{11}$/i;return r.length===10&&t.test(r)?!0:!!(r.length===12&&n.test(r))},"he-IL":function(r){var t=/^\d{9}$/,n=r.trim();if(!t.test(n))return!1;for(var i=n,u=0,d,o=0;o9?d-9:d;return u%10==0},"ar-LY":function(r){var t=/^(1|2)\d{11}$/,n=r.trim();return!!t.test(n)},"ar-TN":function(r){var t=/^\d{8}$/,n=r.trim();return!!t.test(n)},"zh-CN":function(r){var t=["11","12","13","14","15","21","22","23","31","32","33","34","35","36","37","41","42","43","44","45","46","50","51","52","53","54","61","62","63","64","65","71","81","82","91"],n=["7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"],i=["1","0","X","9","8","7","6","5","4","3","2"],u=function(y){return t.includes(y)},d=function(y){var k=parseInt(y.substring(0,4),10),v=parseInt(y.substring(4,6),10),w=parseInt(y.substring(6),10),I=new Date(k,v-1,w);return I>new Date?!1:I.getFullYear()===k&&I.getMonth()===v-1&&I.getDate()===w},o=function(y){for(var k=y.substring(0,17),v=0,w=0;w<17;w++)v+=parseInt(k.charAt(w),10)*parseInt(n[w],10);var I=v%11;return i[I]},f=function(y){return o(y)===y.charAt(17).toUpperCase()},g=function(y){var k=/^[1-9]\d{7}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}$/.test(y);if(!k)return!1;var v=y.substring(0,2);if(k=u(v),!k)return!1;var w="19".concat(y.substring(6,12));return k=d(w),!!k},M=function(y){var k=/^[1-9]\d{5}[1-9]\d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2][0-9])|(3[0-1]))\d{3}(\d|x|X)$/.test(y);if(!k)return!1;var v=y.substring(0,2);if(k=u(v),!k)return!1;var w=y.substring(6,14);return k=d(w),k?f(y):!1},S=function(y){var k=/^\d{15}|(\d{17}(\d|x|X))$/.test(y);return k?y.length===15?g(y):M(y):!1};return S(r)},"zh-TW":function(r){var t={A:10,B:11,C:12,D:13,E:14,F:15,G:16,H:17,I:34,J:18,K:19,L:20,M:21,N:22,O:35,P:23,Q:24,R:25,S:26,T:27,U:28,V:29,W:32,X:30,Y:31,Z:33},n=r.trim().toUpperCase();return/^[A-Z][0-9]{9}$/.test(n)?Array.from(n).reduce(function(i,u,d){if(d===0){var o=t[u];return o%10*9+Math.floor(o/10)}return d===9?(10-i%10-Number(u))%10==0:i+Number(u)*(9-d)},0):!1}};function v1(e,r){if((0,jn.default)(e),r in Ct)return Ct[r](e);if(r==="any"){for(var t in Ct)if(Ct.hasOwnProperty(t)){var n=Ct[t];if(n(e))return!0}return!1}throw new Error("Invalid locale '".concat(r,"'"))}Xi.exports=It.default;Xi.exports.default=It.default});var tc=A((Lt,Ji)=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=E1;var y1=w1(F());function w1(e){return e&&e.__esModule?e:{default:e}}var b1=8,A1=14,S1=/^(\d{8}|\d{13}|\d{14})$/;function k1(e,r){return e===b1||e===A1?r%2==0?3:1:r%2==0?1:3}function x1(e){var r=e.slice(0,-1).split("").map(function(n,i){return Number(n)*k1(e.length,i)}).reduce(function(n,i){return n+i},0),t=10-r%10;return t<10?t:0}function E1(e){(0,y1.default)(e);var r=Number(e.slice(-1));return S1.test(e)&&r===x1(e)}Ji.exports=Lt.default;Ji.exports.default=Lt.default});var nc=A((Rt,Qi)=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=I1;var T1=M1(F());function M1(e){return e&&e.__esModule?e:{default:e}}var C1=/^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;function I1(e){if((0,T1.default)(e),!C1.test(e))return!1;for(var r=!0,t=0,n=e.length-2;n>=0;n--)if(e[n]>="A"&&e[n]<="Z")for(var i=e[n].charCodeAt(0)-55,u=i%10,d=Math.trunc(i/10),o=0,f=[u,d];o=5?t+=1+(g-5)*2:t+=g*2:t+=g,r=!r}else{var M=e[n].charCodeAt(0)-"0".charCodeAt(0);r?M>=5?t+=1+(M-5)*2:t+=M*2:t+=M,r=!r}var S=Math.trunc((t+9)/10)*10-t;return+e[e.length-1]===S}Qi.exports=Rt.default;Qi.exports.default=Rt.default});var ac=A((Pt,ru)=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.default=eu;var L1=R1(F());function R1(e){return e&&e.__esModule?e:{default:e}}var P1=/^(?:[0-9]{9}X|[0-9]{10})$/,F1=/^(?:[0-9]{13})$/,D1=[1,3];function eu(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if((0,L1.default)(e),r=String(r),!r)return eu(e,10)||eu(e,13);var t=e.replace(/[\s-]+/g,""),n=0,i;if(r==="10"){if(!P1.test(t))return!1;for(i=0;i<9;i++)n+=(i+1)*t.charAt(i);if(t.charAt(9)==="X"?n+=10*10:n+=10*t.charAt(9),n%11==0)return!!t}else if(r==="13"){if(!F1.test(t))return!1;for(i=0;i<12;i++)n+=D1[i%2]*t.charAt(i);if(t.charAt(12)-(10-n%10)%10==0)return!!t}return!1}ru.exports=Pt.default;ru.exports.default=Pt.default});var ic=A((Ft,tu)=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.default=N1;var O1=$1(F());function $1(e){return e&&e.__esModule?e:{default:e}}var H1="^\\d{4}-?\\d{3}[\\dX]$";function N1(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(0,O1.default)(e);var t=H1;if(t=r.require_hyphen?t.replace("?",""):t,t=r.case_sensitive?new RegExp(t):new RegExp(t,"i"),!t.test(e))return!1;for(var n=e.replace("-","").toUpperCase(),i=0,u=0;u{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.iso7064Check=B1;nr.luhnCheck=q1;nr.reverseMultiplyAndSum=z1;nr.verhoeffCheck=U1;function B1(e){for(var r=10,t=0;t=0;n--){if(t){var i=parseInt(e[n],10)*2;i>9?r+=i.toString().split("").map(function(u){return parseInt(u,10)}).reduce(function(u,d){return u+d},0):r+=i}else r+=parseInt(e[n],10);t=!t}return r%10==0}function z1(e,r){for(var t=0,n=0;n{"use strict";function Xn(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Xn=function(t){return typeof t}:Xn=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xn(e)}Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=E8;var W1=dc(F()),be=G1(uc()),le=dc(ni());function sc(){if(typeof WeakMap!="function")return null;var e=new WeakMap;return sc=function(){return e},e}function G1(e){if(e&&e.__esModule)return e;if(e===null||Xn(e)!=="object"&&typeof e!="function")return{default:e};var r=sc();if(r&&r.has(e))return r.get(e);var t={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=n?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(t,i,u):t[i]=e[i]}return t.default=e,r&&r.set(e,t),t}function dc(e){return e&&e.__esModule?e:{default:e}}function Z1(e){return j1(e)||V1(e)||K1(e)||Y1()}function Y1(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K1(e,r){if(!!e){if(typeof e=="string")return nu(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return nu(e,r)}}function V1(e){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(e))return Array.from(e)}function j1(e){if(Array.isArray(e))return nu(e)}function nu(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t40?(t-=40,r="20".concat(r)):t>20?(t-=20,r="18".concat(r)):r="19".concat(r),t<10&&(t="0".concat(t));var n="".concat(r,"/").concat(t,"/").concat(e.slice(4,6));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(f){return parseInt(f,10)}),u=[2,4,8,5,10,9,7,3,6],d=0,o=0;o50&&(t-=50),t>20){if(parseInt(r,10)<2004)return!1;t-=20}t<10&&(t="0".concat(t));var n="".concat(r,"/").concat(t,"/").concat(e.slice(4,6));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1;if(e.length===10&&parseInt(e,10)%11!=0){var i=parseInt(e.slice(0,9),10)%11;if(parseInt(r,10)<1986&&i===10){if(parseInt(e.slice(9),10)!==0)return!1}else return!1}return!0}function Q1(e){return be.luhnCheck(e)}function e8(e){for(var r=e.split("").map(function(f){return parseInt(f,10)}),t=[],n=0;n1}),t.length!==2&&t.length!==3)return!1;if(t[0].length===3){for(var u=t[0].split("").map(function(f){return parseInt(f,10)}),d=0,o=0;o58)r="18".concat(r);else return!1;break}r.length===3&&(r=[r.slice(0,2),"0",r.slice(2)].join(""));var n="".concat(r,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(f){return parseInt(f,10)}),u=0,d=4,o=0;o<9;o++)u+=i[o]*d,d-=1,d===1&&(d=7);return u%=11,u===1?!1:u===0?i[9]===0:i[9]===11-u}function t8(e){for(var r=e.slice(0,8).split("").map(function(u){return parseInt(u,10)}),t=0,n=1;n4&&(t+=2));return String.fromCharCode(t%26+65)===e.charAt(8)}function n8(e){for(var r=e.split("").map(function(i){return parseInt(i,10)}),t=0,n=0;n<8;n++)t+=r[n]*Math.pow(2,8-n);return t%11%10===r[8]}function a8(e){var r=be.reverseMultiplyAndSum(e.split("").slice(0,7).map(function(t){return parseInt(t,10)}),8);return e.length===9&&e[8]!=="W"&&(r+=(e[8].charCodeAt(0)-64)*9),r%=23,r===0?e[7].toUpperCase()==="W":e[7].toUpperCase()===String.fromCharCode(64+r)}var au={andover:["10","12"],atlanta:["60","67"],austin:["50","53"],brookhaven:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","55","56","57","58","59","65"],cincinnati:["30","32","35","36","37","38","61"],fresno:["15","24"],internet:["20","26","27","45","46","47"],kansas:["40","44"],memphis:["94","95"],ogden:["80","90"],philadelphia:["33","39","41","42","43","46","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],sba:["31"]};function i8(){var e=[];for(var r in au)au.hasOwnProperty(r)&&e.push.apply(e,Z1(au[r]));return e}function u8(e){return i8().indexOf(e.substr(0,2))!==-1}function s8(e){var r=e.toUpperCase().split("");if(isNaN(parseInt(r[0],10))&&r.length>1){var t=0;switch(r[0]){case"Y":t=1;break;case"Z":t=2;break;default:}r.splice(0,1,t)}else for(;r.length<9;)r.unshift(0);var n=["T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E"];r=r.join("");var i=parseInt(r.slice(0,8),10)%23;return r[8]===n[i]}function d8(e){var r=e.slice(1,3),t=e.slice(0,1);switch(t){case"1":case"2":r="18".concat(r);break;case"3":case"4":r="19".concat(r);break;default:r="20".concat(r);break}var n="".concat(r,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1;for(var i=e.split("").map(function(g){return parseInt(g,10)}),u=0,d=1,o=0;o<10;o++)u+=i[o]*d,d+=1,d===10&&(d=1);if(u%11==10){u=0,d=3;for(var f=0;f<10;f++)u+=i[f]*d,d+=1,d===10&&(d=1);if(u%11==10)return i[10]===0}return u%11===i[10]}function l8(e){var r=e.slice(4,6),t=e.slice(6,7);switch(t){case"+":r="18".concat(r);break;case"-":r="19".concat(r);break;default:r="20".concat(r);break}var n="".concat(r,"/").concat(e.slice(2,4),"/").concat(e.slice(0,2));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1;var i=parseInt(e.slice(0,6)+e.slice(7,10),10)%31;if(i<10)return i===parseInt(e.slice(10),10);i-=10;var u=["A","B","C","D","E","F","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y"];return u[i]===e.slice(10)}function o8(e){if(e.slice(2,4)!=="00"||e.slice(4,6)!=="00"){var r="".concat(e.slice(0,2),"/").concat(e.slice(2,4),"/").concat(e.slice(4,6));if(!(0,le.default)(r,"YY/MM/DD"))return!1}var t=97-parseInt(e.slice(0,9),10)%97,n=parseInt(e.slice(9,11),10);return!(t!==n&&(t=97-parseInt("2".concat(e.slice(0,9)),10)%97,t!==n))}function c8(e){e=e.replace(/\s/g,"");var r=parseInt(e.slice(0,10),10)%511,t=parseInt(e.slice(10,13),10);return r===t}function f8(e){var r="".concat(e.slice(0,4),"/").concat(e.slice(4,6),"/").concat(e.slice(6,8));return!(0,le.default)(r,"YYYY/MM/DD")||!be.luhnCheck(e.slice(0,12))?!1:be.verhoeffCheck("".concat(e.slice(0,11)).concat(e[12]))}function p8(e){return be.iso7064Check(e)}function m8(e){for(var r=e.split("").map(function(i){return parseInt(i,10)}),t=8,n=1;n<9;n++)t+=r[n]*(n+1);return t%11===r[9]}function lc(e){for(var r=!1,t=!1,n=0;n<3;n++)if(!r&&/[AEIOU]/.test(e[n]))r=!0;else if(!t&&r&&e[n]==="X")t=!0;else if(n>0&&(r&&!t&&!/[AEIOU]/.test(e[n])||t&&!/X/.test(e[n])))return!1;return!0}function h8(e){var r=e.toUpperCase().split("");if(!lc(r.slice(0,3))||!lc(r.slice(3,6)))return!1;for(var t=[6,7,9,10,12,13,14],n={L:"0",M:"1",N:"2",P:"3",Q:"4",R:"5",S:"6",T:"7",U:"8",V:"9"},i=0,u=t;i40&&(g-=40),g<10&&(g="0".concat(g));var M="".concat(r[6]).concat(r[7],"/").concat(f,"/").concat(g);if(!(0,le.default)(M,"YY/MM/DD"))return!1;for(var S=0,E=1;E4&&(w+=2)}S+=w}return String.fromCharCode(65+S%26)===r[15]}function g8(e){e=e.replace(/\W/,"");var r=e.slice(0,2);if(r!=="32"){var t=e.slice(2,4);if(t!=="00"){var n=e.slice(4,6);switch(e[6]){case"0":n="18".concat(n);break;case"1":n="19".concat(n);break;default:n="20".concat(n);break}var i="".concat(n,"/").concat(e.slice(2,4),"/").concat(r);if(!(0,le.default)(i,"YYYY/MM/DD"))return!1}for(var u=1101,d=[1,6,3,7,9,10,5,8,4,2],o=0;o32e3)return!1;var n=parseInt(r.join("").slice(5,7),10);if(t===n)return!1}}}return!0}function v8(e){return be.reverseMultiplyAndSum(e.split("").slice(0,8).map(function(r){return parseInt(r,10)}),9)%11===parseInt(e[8],10)}function y8(e){if(e.length===10){for(var r=[6,5,7,2,3,4,5,6,7],t=0,n=0;n80?(i="18".concat(i),u-=80):u>60?(i="22".concat(i),u-=60):u>40?(i="21".concat(i),u-=40):u>20?(i="20".concat(i),u-=20):i="19".concat(i),u<10&&(u="0".concat(u));var d="".concat(i,"/").concat(u,"/").concat(e.slice(4,6));if(!(0,le.default)(d,"YYYY/MM/DD"))return!1;for(var o=0,f=1,g=0;g10?f=1:f===5&&(f+=2);return o=10-o%10,o===parseInt(e[10],10)}function w8(e){if(e.length===11){var r,t;if(r=0,e==="11111111111"||e==="22222222222"||e==="33333333333"||e==="44444444444"||e==="55555555555"||e==="66666666666"||e==="77777777777"||e==="88888888888"||e==="99999999999"||e==="00000000000")return!1;for(var n=1;n<=9;n++)r+=parseInt(e.substring(n-1,n),10)*(11-n);if(t=r*10%11,t===10&&(t=0),t!==parseInt(e.substring(9,10),10))return!1;r=0;for(var i=1;i<=10;i++)r+=parseInt(e.substring(i-1,i),10)*(12-i);return t=r*10%11,t===10&&(t=0),t===parseInt(e.substring(10,11),10)}if(e==="00000000000000"||e==="11111111111111"||e==="22222222222222"||e==="33333333333333"||e==="44444444444444"||e==="55555555555555"||e==="66666666666666"||e==="77777777777777"||e==="88888888888888"||e==="99999999999999")return!1;for(var u=e.length-2,d=e.substring(0,u),o=e.substring(u),f=0,g=u-7,M=u;M>=1;M--)f+=d.charAt(u-M)*g,g-=1,g<2&&(g=9);var S=f%11<2?0:11-f%11;if(S!==parseInt(o.charAt(0),10))return!1;u+=1,d=e.substring(0,u),f=0,g=u-7;for(var E=u;E>=1;E--)f+=d.charAt(u-E)*g,g-=1,g<2&&(g=9);return S=f%11<2?0:11-f%11,S===parseInt(o.charAt(1),10)}function b8(e){var r=11-be.reverseMultiplyAndSum(e.split("").slice(0,8).map(function(t){return parseInt(t,10)}),9)%11;return r>9?parseInt(e[8],10)===0:r===parseInt(e[8],10)}function A8(e){if(e.slice(0,4)!=="9000"){var r=e.slice(1,3);switch(e[0]){case"1":case"2":r="19".concat(r);break;case"3":case"4":r="18".concat(r);break;case"5":case"6":r="20".concat(r);break;default:}var t="".concat(r,"/").concat(e.slice(3,5),"/").concat(e.slice(5,7));if(t.length===8){if(!(0,le.default)(t,"YY/MM/DD"))return!1}else if(!(0,le.default)(t,"YYYY/MM/DD"))return!1;for(var n=e.split("").map(function(o){return parseInt(o,10)}),i=[2,7,9,1,4,6,3,5,8,2,7,9],u=0,d=0;d53)return!1;r<10?r="190".concat(r):r="19".concat(r);var t=parseInt(e.slice(2,4),10);t>50&&(t-=50),t<10&&(t="0".concat(t));var n="".concat(r,"/").concat(t,"/").concat(e.slice(4,6));if(!(0,le.default)(n,"YYYY/MM/DD"))return!1}return!0}function k8(e){var r=11-be.reverseMultiplyAndSum(e.split("").slice(0,7).map(function(t){return parseInt(t,10)}),8)%11;return r===10?parseInt(e[7],10)===0:r===parseInt(e[7],10)}function x8(e){var r=e.slice(0);e.length>11&&(r=r.slice(2));var t="",n=r.slice(2,4),i=parseInt(r.slice(4,6),10);if(e.length>11)t=e.slice(0,4);else if(t=e.slice(0,2),e.length===11&&i<60){var u=new Date().getFullYear().toString(),d=parseInt(u.slice(0,2),10);if(u=parseInt(u,10),e[6]==="-")parseInt("".concat(d).concat(t),10)>u?t="".concat(d-1).concat(t):t="".concat(d).concat(t);else if(t="".concat(d-1).concat(t),u-parseInt(t,10)<100)return!1}i>60&&(i-=60),i<10&&(i="0".concat(i));var o="".concat(t,"/").concat(n,"/").concat(i);if(o.length===8){if(!(0,le.default)(o,"YY/MM/DD"))return!1}else if(!(0,le.default)(o,"YYYY/MM/DD"))return!1;return be.luhnCheck(e.replace(/\W/,""))}var Ie={"bg-BG":/^\d{10}$/,"cs-CZ":/^\d{6}\/{0,1}\d{3,4}$/,"de-AT":/^\d{9}$/,"de-DE":/^[1-9]\d{10}$/,"dk-DK":/^\d{6}-{0,1}\d{4}$/,"el-CY":/^[09]\d{7}[A-Z]$/,"el-GR":/^([0-4]|[7-9])\d{8}$/,"en-GB":/^\d{10}$|^(?!GB|NK|TN|ZZ)(?![DFIQUV])[A-Z](?![DFIQUVO])[A-Z]\d{6}[ABCD ]$/i,"en-IE":/^\d{7}[A-W][A-IW]{0,1}$/i,"en-US":/^\d{2}[- ]{0,1}\d{7}$/,"es-ES":/^(\d{0,8}|[XYZKLM]\d{7})[A-HJ-NP-TV-Z]$/i,"et-EE":/^[1-6]\d{6}(00[1-9]|0[1-9][0-9]|[1-6][0-9]{2}|70[0-9]|710)\d$/,"fi-FI":/^\d{6}[-+A]\d{3}[0-9A-FHJ-NPR-Y]$/i,"fr-BE":/^\d{11}$/,"fr-FR":/^[0-3]\d{12}$|^[0-3]\d\s\d{2}(\s\d{3}){3}$/,"fr-LU":/^\d{13}$/,"hr-HR":/^\d{11}$/,"hu-HU":/^8\d{9}$/,"it-IT":/^[A-Z]{6}[L-NP-V0-9]{2}[A-EHLMPRST][L-NP-V0-9]{2}[A-ILMZ][L-NP-V0-9]{3}[A-Z]$/i,"lv-LV":/^\d{6}-{0,1}\d{5}$/,"mt-MT":/^\d{3,7}[APMGLHBZ]$|^([1-8])\1\d{7}$/i,"nl-NL":/^\d{9}$/,"pl-PL":/^\d{10,11}$/,"pt-BR":/(?:^\d{11}$)|(?:^\d{14}$)/,"pt-PT":/^\d{9}$/,"ro-RO":/^\d{13}$/,"sk-SK":/^\d{6}\/{0,1}\d{3,4}$/,"sl-SI":/^[1-9]\d{7}$/,"sv-SE":/^(\d{6}[-+]{0,1}\d{4}|(18|19|20)\d{6}[-+]{0,1}\d{4})$/};Ie["lb-LU"]=Ie["fr-LU"];Ie["lt-LT"]=Ie["et-EE"];Ie["nl-BE"]=Ie["fr-BE"];var Le={"bg-BG":X1,"cs-CZ":J1,"de-AT":Q1,"de-DE":e8,"dk-DK":r8,"el-CY":t8,"el-GR":n8,"en-IE":a8,"en-US":u8,"es-ES":s8,"et-EE":d8,"fi-FI":l8,"fr-BE":o8,"fr-FR":c8,"fr-LU":f8,"hr-HR":p8,"hu-HU":m8,"it-IT":h8,"lv-LV":g8,"mt-MT":_8,"nl-NL":v8,"pl-PL":y8,"pt-BR":w8,"pt-PT":b8,"ro-RO":A8,"sk-SK":S8,"sl-SI":k8,"sv-SE":x8};Le["lb-LU"]=Le["fr-LU"];Le["lt-LT"]=Le["et-EE"];Le["nl-BE"]=Le["fr-BE"];var oc=/[-\\\/!@#$%\^&\*\(\)\+\=\[\]]+/g,Jn={"de-AT":oc,"de-DE":/[\/\\]/g,"fr-BE":oc};Jn["nl-BE"]=Jn["fr-BE"];function E8(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US";(0,W1.default)(e);var t=e.slice(0);if(r in Ie)return r in Jn&&(t=t.replace(Jn[r],"")),Ie[r].test(t)?r in Le?Le[r](t):!0:!1;throw new Error("Invalid locale '".concat(r,"'"))}iu.exports=Dt.default;iu.exports.default=Dt.default});var fc=A(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=C8;Ot.locales=void 0;var T8=M8(F());function M8(e){return e&&e.__esModule?e:{default:e}}var Z={"am-AM":/^(\+?374|0)((10|[9|7][0-9])\d{6}$|[2-4]\d{7}$)/,"ar-AE":/^((\+?971)|0)?5[024568]\d{7}$/,"ar-BH":/^(\+?973)?(3|6)\d{7}$/,"ar-DZ":/^(\+?213|0)(5|6|7)\d{8}$/,"ar-LB":/^(\+?961)?((3|81)\d{6}|7\d{7})$/,"ar-EG":/^((\+?20)|0)?1[0125]\d{8}$/,"ar-IQ":/^(\+?964|0)?7[0-9]\d{8}$/,"ar-JO":/^(\+?962|0)?7[789]\d{7}$/,"ar-KW":/^(\+?965)[569]\d{7}$/,"ar-LY":/^((\+?218)|0)?(9[1-6]\d{7}|[1-8]\d{7,9})$/,"ar-MA":/^(?:(?:\+|00)212|0)[5-7]\d{8}$/,"ar-OM":/^((\+|00)968)?(9[1-9])\d{6}$/,"ar-PS":/^(\+?970|0)5[6|9](\d{7})$/,"ar-SA":/^(!?(\+?966)|0)?5\d{8}$/,"ar-SY":/^(!?(\+?963)|0)?9\d{8}$/,"ar-TN":/^(\+?216)?[2459]\d{7}$/,"az-AZ":/^(\+994|0)(5[015]|7[07]|99)\d{7}$/,"bs-BA":/^((((\+|00)3876)|06))((([0-3]|[5-6])\d{6})|(4\d{7}))$/,"be-BY":/^(\+?375)?(24|25|29|33|44)\d{7}$/,"bg-BG":/^(\+?359|0)?8[789]\d{7}$/,"bn-BD":/^(\+?880|0)1[13456789][0-9]{8}$/,"ca-AD":/^(\+376)?[346]\d{5}$/,"cs-CZ":/^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"da-DK":/^(\+?45)?\s?\d{2}\s?\d{2}\s?\d{2}\s?\d{2}$/,"de-DE":/^((\+49|0)[1|3])([0|5][0-45-9]\d|6([23]|0\d?)|7([0-57-9]|6\d))\d{7,9}$/,"de-AT":/^(\+43|0)\d{1,4}\d{3,12}$/,"de-CH":/^(\+41|0)([1-9])\d{1,9}$/,"de-LU":/^(\+352)?((6\d1)\d{6})$/,"dv-MV":/^(\+?960)?(7[2-9]|91|9[3-9])\d{7}$/,"el-GR":/^(\+?30|0)?(69\d{8})$/,"en-AU":/^(\+?61|0)4\d{8}$/,"en-BM":/^(\+?1)?441(((3|7)\d{6}$)|(5[0-3][0-9]\d{4}$)|(59\d{5}))/,"en-GB":/^(\+?44|0)7\d{9}$/,"en-GG":/^(\+?44|0)1481\d{6}$/,"en-GH":/^(\+233|0)(20|50|24|54|27|57|26|56|23|28|55|59)\d{7}$/,"en-GY":/^(\+592|0)6\d{6}$/,"en-HK":/^(\+?852[-\s]?)?[456789]\d{3}[-\s]?\d{4}$/,"en-MO":/^(\+?853[-\s]?)?[6]\d{3}[-\s]?\d{4}$/,"en-IE":/^(\+?353|0)8[356789]\d{7}$/,"en-IN":/^(\+?91|0)?[6789]\d{9}$/,"en-KE":/^(\+?254|0)(7|1)\d{8}$/,"en-KI":/^((\+686|686)?)?( )?((6|7)(2|3|8)[0-9]{6})$/,"en-MT":/^(\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,"en-MU":/^(\+?230|0)?\d{8}$/,"en-NA":/^(\+?264|0)(6|8)\d{7}$/,"en-NG":/^(\+?234|0)?[789]\d{9}$/,"en-NZ":/^(\+?64|0)[28]\d{7,9}$/,"en-PK":/^((00|\+)?92|0)3[0-6]\d{8}$/,"en-PH":/^(09|\+639)\d{9}$/,"en-RW":/^(\+?250|0)?[7]\d{8}$/,"en-SG":/^(\+65)?[3689]\d{7}$/,"en-SL":/^(\+?232|0)\d{8}$/,"en-TZ":/^(\+?255|0)?[67]\d{8}$/,"en-UG":/^(\+?256|0)?[7]\d{8}$/,"en-US":/^((\+1|1)?( |-)?)?(\([2-9][0-9]{2}\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,"en-ZA":/^(\+?27|0)\d{9}$/,"en-ZM":/^(\+?26)?09[567]\d{7}$/,"en-ZW":/^(\+263)[0-9]{9}$/,"en-BW":/^(\+?267)?(7[1-8]{1})\d{6}$/,"es-AR":/^\+?549(11|[2368]\d)\d{8}$/,"es-BO":/^(\+?591)?(6|7)\d{7}$/,"es-CO":/^(\+?57)?3(0(0|1|2|4|5)|1\d|2[0-4]|5(0|1))\d{7}$/,"es-CL":/^(\+?56|0)[2-9]\d{1}\d{7}$/,"es-CR":/^(\+506)?[2-8]\d{7}$/,"es-CU":/^(\+53|0053)?5\d{7}/,"es-DO":/^(\+?1)?8[024]9\d{7}$/,"es-HN":/^(\+?504)?[9|8]\d{7}$/,"es-EC":/^(\+?593|0)([2-7]|9[2-9])\d{7}$/,"es-ES":/^(\+?34)?[6|7]\d{8}$/,"es-PE":/^(\+?51)?9\d{8}$/,"es-MX":/^(\+?52)?(1|01)?\d{10,11}$/,"es-PA":/^(\+?507)\d{7,8}$/,"es-PY":/^(\+?595|0)9[9876]\d{7}$/,"es-SV":/^(\+?503)?[67]\d{7}$/,"es-UY":/^(\+598|0)9[1-9][\d]{6}$/,"es-VE":/^(\+?58)?(2|4)\d{9}$/,"et-EE":/^(\+?372)?\s?(5|8[1-4])\s?([0-9]\s?){6,7}$/,"fa-IR":/^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,"fi-FI":/^(\+?358|0)\s?(4(0|1|2|4|5|6)?|50)\s?(\d\s?){4,8}\d$/,"fj-FJ":/^(\+?679)?\s?\d{3}\s?\d{4}$/,"fo-FO":/^(\+?298)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"fr-BF":/^(\+226|0)[67]\d{7}$/,"fr-CM":/^(\+?237)6[0-9]{8}$/,"fr-FR":/^(\+?33|0)[67]\d{8}$/,"fr-GF":/^(\+?594|0|00594)[67]\d{8}$/,"fr-GP":/^(\+?590|0|00590)[67]\d{8}$/,"fr-MQ":/^(\+?596|0|00596)[67]\d{8}$/,"fr-PF":/^(\+?689)?8[789]\d{6}$/,"fr-RE":/^(\+?262|0|00262)[67]\d{8}$/,"he-IL":/^(\+972|0)([23489]|5[012345689]|77)[1-9]\d{6}$/,"hu-HU":/^(\+?36|06)(20|30|31|50|70)\d{7}$/,"id-ID":/^(\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\s?|\d]{5,11})$/,"it-IT":/^(\+?39)?\s?3\d{2} ?\d{6,7}$/,"it-SM":/^((\+378)|(0549)|(\+390549)|(\+3780549))?6\d{5,9}$/,"ja-JP":/^(\+81[ \-]?(\(0\))?|0)[6789]0[ \-]?\d{4}[ \-]?\d{4}$/,"ka-GE":/^(\+?995)?(5|79)\d{7}$/,"kk-KZ":/^(\+?7|8)?7\d{9}$/,"kl-GL":/^(\+?299)?\s?\d{2}\s?\d{2}\s?\d{2}$/,"ko-KR":/^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,"lt-LT":/^(\+370|8)\d{8}$/,"lv-LV":/^(\+?371)2\d{7}$/,"ms-MY":/^(\+?6?01){1}(([0145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,"mz-MZ":/^(\+?258)?8[234567]\d{7}$/,"nb-NO":/^(\+?47)?[49]\d{7}$/,"ne-NP":/^(\+?977)?9[78]\d{8}$/,"nl-BE":/^(\+?32|0)4\d{8}$/,"nl-NL":/^(((\+|00)?31\(0\))|((\+|00)?31)|0)6{1}\d{8}$/,"nn-NO":/^(\+?47)?[49]\d{7}$/,"pl-PL":/^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,"pt-BR":/^((\+?55\ ?[1-9]{2}\ ?)|(\+?55\ ?\([1-9]{2}\)\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[2-9]{1}\d{3}\-?\d{4}))$/,"pt-PT":/^(\+?351)?9[1236]\d{7}$/,"pt-AO":/^(\+244)\d{9}$/,"ro-RO":/^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,"ru-RU":/^(\+?7|8)?9\d{9}$/,"si-LK":/^(?:0|94|\+94)?(7(0|1|2|4|5|6|7|8)( |-)?)\d{7}$/,"sl-SI":/^(\+386\s?|0)(\d{1}\s?\d{3}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{3})$/,"sk-SK":/^(\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,"sq-AL":/^(\+355|0)6[789]\d{6}$/,"sr-RS":/^(\+3816|06)[- \d]{5,9}$/,"sv-SE":/^(\+?46|0)[\s\-]?7[\s\-]?[02369]([\s\-]?\d){7}$/,"tg-TJ":/^(\+?992)?[5][5]\d{7}$/,"th-TH":/^(\+66|66|0)\d{9}$/,"tr-TR":/^(\+?90|0)?5\d{9}$/,"tk-TM":/^(\+993|993|8)\d{8}$/,"uk-UA":/^(\+?38|8)?0\d{9}$/,"uz-UZ":/^(\+?998)?(6[125-79]|7[1-69]|88|9\d)\d{7}$/,"vi-VN":/^((\+?84)|0)((3([2-9]))|(5([25689]))|(7([0|6-9]))|(8([1-9]))|(9([0-9])))([0-9]{7})$/,"zh-CN":/^((\+|00)86)?(1[3-9]|9[28])\d{9}$/,"zh-TW":/^(\+?886\-?|0)?9\d{8}$/,"dz-BT":/^(\+?975|0)?(17|16|77|02)\d{6}$/};Z["en-CA"]=Z["en-US"];Z["fr-CA"]=Z["en-CA"];Z["fr-BE"]=Z["nl-BE"];Z["zh-HK"]=Z["en-HK"];Z["zh-MO"]=Z["en-MO"];Z["ga-IE"]=Z["en-IE"];Z["fr-CH"]=Z["de-CH"];Z["it-CH"]=Z["fr-CH"];function C8(e,r,t){if((0,T8.default)(e),t&&t.strictMode&&!e.startsWith("+"))return!1;if(Array.isArray(r))return r.some(function(u){if(Z.hasOwnProperty(u)){var d=Z[u];if(d.test(e))return!0}return!1});if(r in Z)return Z[r].test(e);if(!r||r==="any"){for(var n in Z)if(Z.hasOwnProperty(n)){var i=Z[n];if(i.test(e))return!0}return!1}throw new Error("Invalid locale '".concat(r,"'"))}var I8=Object.keys(Z);Ot.locales=I8});var pc=A(($t,uu)=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.default=F8;var L8=R8(F());function R8(e){return e&&e.__esModule?e:{default:e}}var P8=/^(0x)[0-9a-f]{40}$/i;function F8(e){return(0,L8.default)(e),P8.test(e)}uu.exports=$t.default;uu.exports.default=$t.default});var hc=A((Ht,su)=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.default=N8;var D8=mc(me()),O8=mc(F());function mc(e){return e&&e.__esModule?e:{default:e}}function $8(e){var r="\\d{".concat(e.digits_after_decimal[0],"}");e.digits_after_decimal.forEach(function(M,S){S!==0&&(r="".concat(r,"|\\d{").concat(M,"}"))});var t="(".concat(e.symbol.replace(/\W/,function(M){return"\\".concat(M)}),")").concat(e.require_symbol?"":"?"),n="-?",i="[1-9]\\d*",u="[1-9]\\d{0,2}(\\".concat(e.thousands_separator,"\\d{3})*"),d=["0",i,u],o="(".concat(d.join("|"),")?"),f="(\\".concat(e.decimal_separator,"(").concat(r,"))").concat(e.require_decimal?"":"?"),g=o+(e.allow_decimal||e.require_decimal?f:"");return e.allow_negatives&&!e.parens_for_negatives&&(e.negative_sign_after_digits?g+=n:e.negative_sign_before_digits&&(g=n+g)),e.allow_negative_sign_placeholder?g="( (?!\\-))?".concat(g):e.allow_space_after_symbol?g=" ?".concat(g):e.allow_space_after_digits&&(g+="( (?!$))?"),e.symbol_after_digits?g+=t:g=t+g,e.allow_negatives&&(e.parens_for_negatives?g="(\\(".concat(g,"\\)|").concat(g,")"):e.negative_sign_before_digits||e.negative_sign_after_digits||(g=n+g)),new RegExp("^(?!-? )(?=.*\\d)".concat(g,"$"))}var H8={symbol:"$",require_symbol:!1,allow_space_after_symbol:!1,symbol_after_digits:!1,allow_negatives:!0,parens_for_negatives:!1,negative_sign_before_digits:!1,negative_sign_after_digits:!1,allow_negative_sign_placeholder:!1,thousands_separator:",",decimal_separator:".",allow_decimal:!0,require_decimal:!1,digits_after_decimal:[2],allow_space_after_digits:!1};function N8(e,r){return(0,O8.default)(e),r=(0,D8.default)(r,H8),$8(r).test(e)}su.exports=Ht.default;su.exports.default=Ht.default});var gc=A((Nt,du)=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.default=W8;var B8=q8(F());function q8(e){return e&&e.__esModule?e:{default:e}}var z8=/^(bc1)[a-z0-9]{25,39}$/,U8=/^(1|3)[A-HJ-NP-Za-km-z1-9]{25,39}$/;function W8(e){return(0,B8.default)(e),e.startsWith("bc1")?z8.test(e):U8.test(e)}du.exports=Nt.default;du.exports.default=Nt.default});var _c=A((Bt,lu)=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.default=j8;var G8=Z8(F());function Z8(e){return e&&e.__esModule?e:{default:e}}var Y8=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,K8=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,V8=function(r){var t=r.match(/^(\d{4})-?(\d{3})([ T]{1}\.*|$)/);if(t){var n=Number(t[1]),i=Number(t[2]);return n%4==0&&n%100!=0||n%400==0?i<=366:i<=365}var u=r.match(/(\d{4})-?(\d{0,2})-?(\d*)/).map(Number),d=u[1],o=u[2],f=u[3],g=o&&"0".concat(o).slice(-2),M=f&&"0".concat(f).slice(-2),S=new Date("".concat(d,"-").concat(g||"01","-").concat(M||"01"));return o&&f?S.getUTCFullYear()===d&&S.getUTCMonth()+1===o&&S.getUTCDate()===f:!0};function j8(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(0,G8.default)(e);var t=r.strictSeparator?K8.test(e):Y8.test(e);return t&&r.strict?V8(e):t}lu.exports=Bt.default;lu.exports.default=Bt.default});var wc=A((qt,ou)=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.default=oy;var X8=J8(F());function J8(e){return e&&e.__esModule?e:{default:e}}var Q8=/[0-9]{4}/,ey=/(0[1-9]|1[0-2])/,ry=/([12]\d|0[1-9]|3[01])/,vc=/([01][0-9]|2[0-3])/,yc=/[0-5][0-9]/,ty=/([0-5][0-9]|60)/,ny=/(\.[0-9]+)?/,ay=new RegExp("[-+]".concat(vc.source,":").concat(yc.source)),iy=new RegExp("([zZ]|".concat(ay.source,")")),uy=new RegExp("".concat(vc.source,":").concat(yc.source,":").concat(ty.source).concat(ny.source)),sy=new RegExp("".concat(Q8.source,"-").concat(ey.source,"-").concat(ry.source)),dy=new RegExp("".concat(uy.source).concat(iy.source)),ly=new RegExp("^".concat(sy.source,"[ tT]").concat(dy.source,"$"));function oy(e){return(0,X8.default)(e),ly.test(e)}ou.exports=qt.default;ou.exports.default=qt.default});var bc=A((zt,cu)=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.default=my;var cy=fy(F());function fy(e){return e&&e.__esModule?e:{default:e}}var py=new Set(["AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","KHM","CMR","CAN","CPV","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COD","COK","CRI","CIV","HRV","CUB","CUW","CYP","CZE","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","GEO","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KOR","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MKD","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MDA","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","TZA","THA","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","ZMB","ZWE"]);function my(e){return(0,cy.default)(e),py.has(e.toUpperCase())}cu.exports=zt.default;cu.exports.default=zt.default});var Sc=A(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.default=_y;Ut.CurrencyCodes=void 0;var hy=gy(F());function gy(e){return e&&e.__esModule?e:{default:e}}var Ac=new Set(["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","XXX","YER","ZAR","ZMW","ZWL"]);function _y(e){return(0,hy.default)(e),Ac.has(e.toUpperCase())}var vy=Ac;Ut.CurrencyCodes=vy});var kc=A((Wt,fu)=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.default=Ay;var yy=wy(F());function wy(e){return e&&e.__esModule?e:{default:e}}var by=/^[A-Z2-7]+=*$/;function Ay(e){(0,yy.default)(e);var r=e.length;return!!(r%8==0&&by.test(e))}fu.exports=Wt.default;fu.exports.default=Wt.default});var xc=A((Gt,pu)=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.default=Ey;var Sy=ky(F());function ky(e){return e&&e.__esModule?e:{default:e}}var xy=/^[A-HJ-NP-Za-km-z1-9]*$/;function Ey(e){return(0,Sy.default)(e),!!xy.test(e)}pu.exports=Gt.default;pu.exports.default=Gt.default});var Ec=A((Zt,mu)=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.default=Ry;var Ty=My(F());function My(e){return e&&e.__esModule?e:{default:e}}var Cy=/^[a-z]+\/[a-z0-9\-\+]+$/i,Iy=/^[a-z\-]+=[a-z0-9\-]+$/i,Ly=/^[a-z0-9!\$&'\(\)\*\+,;=\-\._~:@\/\?%\s]*$/i;function Ry(e){(0,Ty.default)(e);var r=e.split(",");if(r.length<2)return!1;var t=r.shift().trim().split(";"),n=t.shift();if(n.substr(0,5)!=="data:")return!1;var i=n.substr(5);if(i!==""&&!Cy.test(i))return!1;for(var u=0;u{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.default=Oy;var Py=Fy(F());function Fy(e){return e&&e.__esModule?e:{default:e}}var Dy=/^magnet:\?xt(?:\.1)?=urn:(?:aich|bitprint|btih|ed2k|ed2khash|kzhash|md5|sha1|tree:tiger):[a-z0-9]{32}(?:[a-z0-9]{8})?($|&)/i;function Oy(e){return(0,Py.default)(e),Dy.test(e.trim())}hu.exports=Yt.default;hu.exports.default=Yt.default});var Mc=A((Kt,gu)=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.default=zy;var $y=Hy(F());function Hy(e){return e&&e.__esModule?e:{default:e}}var Ny=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9\.\-\+]{1,100}$/i,By=/^text\/[a-zA-Z0-9\.\-\+]{1,100};\s?charset=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?$/i,qy=/^multipart\/[a-zA-Z0-9\.\-\+]{1,100}(;\s?(boundary|charset)=("[a-zA-Z0-9\.\-\+\s]{0,70}"|[a-zA-Z0-9\.\-\+]{0,70})(\s?\([a-zA-Z0-9\.\-\+\s]{1,20}\))?){0,2}$/i;function zy(e){return(0,$y.default)(e),Ny.test(e)||By.test(e)||qy.test(e)}gu.exports=Kt.default;gu.exports.default=Kt.default});var Ic=A((Vt,_u)=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.default=jy;var Uy=Cc(F()),Wy=Cc(me());function Cc(e){return e&&e.__esModule?e:{default:e}}var Gy=/^\(?[+-]?(90(\.0+)?|[1-8]?\d(\.\d+)?)$/,Zy=/^\s?[+-]?(180(\.0+)?|1[0-7]\d(\.\d+)?|\d{1,2}(\.\d+)?)\)?$/,Yy=/^(([1-8]?\d)\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|90\D+0\D+0)\D+[NSns]?$/i,Ky=/^\s*([1-7]?\d{1,2}\D+([1-5]?\d|60)\D+([1-5]?\d|60)(\.\d+)?|180\D+0\D+0)\D+[EWew]?$/i,Vy={checkDMS:!1};function jy(e,r){if((0,Uy.default)(e),r=(0,Wy.default)(r,Vy),!e.includes(","))return!1;var t=e.split(",");return t[0].startsWith("(")&&!t[1].endsWith(")")||t[1].endsWith(")")&&!t[0].startsWith("(")?!1:r.checkDMS?Yy.test(t[0])&&Ky.test(t[1]):Gy.test(t[0])&&Zy.test(t[1])}_u.exports=Vt.default;_u.exports.default=Vt.default});var Lc=A(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.default=rw;jt.locales=void 0;var Xy=Jy(F());function Jy(e){return e&&e.__esModule?e:{default:e}}var Qy=/^\d{3}$/,_e=/^\d{4}$/,oe=/^\d{5}$/,vu=/^\d{6}$/,ar={AD:/^AD\d{3}$/,AT:_e,AU:_e,AZ:/^AZ\d{4}$/,BE:_e,BG:_e,BR:/^\d{5}-\d{3}$/,BY:/2[1-4]{1}\d{4}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z][\s\-]?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:_e,CN:/^(0[1-7]|1[012356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[1-5]|8[1345]|9[09])\d{4}$/,CZ:/^\d{3}\s?\d{2}$/,DE:oe,DK:_e,DO:oe,DZ:oe,EE:oe,ES:/^(5[0-2]{1}|[0-4]{1}\d{1})\d{3}$/,FI:oe,FR:/^\d{2}\s?\d{3}$/,GB:/^(gir\s?0aa|[a-z]{1,2}\d[\da-z]?\s?(\d[a-z]{2})?)$/i,GR:/^\d{3}\s?\d{2}$/,HR:/^([1-5]\d{4}$)/,HT:/^HT\d{4}$/,HU:_e,ID:oe,IE:/^(?!.*(?:o))[A-Za-z]\d[\dw]\s\w{4}$/i,IL:/^(\d{5}|\d{7})$/,IN:/^((?!10|29|35|54|55|65|66|86|87|88|89)[1-9][0-9]{5})$/,IR:/\b(?!(\d)\1{3})[13-9]{4}[1346-9][013-9]{5}\b/,IS:Qy,IT:oe,JP:/^\d{3}\-\d{4}$/,KE:oe,KR:/^(\d{5}|\d{6})$/,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT\-\d{5}$/,LU:_e,LV:/^LV\-\d{4}$/,LK:oe,MX:oe,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MY:oe,NL:/^\d{4}\s?[a-z]{2}$/i,NO:_e,NP:/^(10|21|22|32|33|34|44|45|56|57)\d{3}$|^(977)$/i,NZ:_e,PL:/^\d{2}\-\d{3}$/,PR:/^00[679]\d{2}([ -]\d{4})?$/,PT:/^\d{4}\-\d{3}?$/,RO:vu,RU:vu,SA:oe,SE:/^[1-9]\d{2}\s?\d{2}$/,SG:vu,SI:_e,SK:/^\d{3}\s?\d{2}$/,TH:oe,TN:_e,TW:/^\d{3}(\d{2})?$/,UA:oe,US:/^\d{5}(-\d{4})?$/,ZA:_e,ZM:oe},ew=Object.keys(ar);jt.locales=ew;function rw(e,r){if((0,Xy.default)(e),r in ar)return ar[r].test(e);if(r==="any"){for(var t in ar)if(ar.hasOwnProperty(t)){var n=ar[t];if(n.test(e))return!0}return!1}throw new Error("Invalid locale '".concat(r,"'"))}});var wu=A((Xt,yu)=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.default=aw;var tw=nw(F());function nw(e){return e&&e.__esModule?e:{default:e}}function aw(e,r){(0,tw.default)(e);var t=r?new RegExp("^[".concat(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+"),"g"):/^\s+/g;return e.replace(t,"")}yu.exports=Xt.default;yu.exports.default=Xt.default});var Au=A((Jt,bu)=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.default=sw;var iw=uw(F());function uw(e){return e&&e.__esModule?e:{default:e}}function sw(e,r){if((0,iw.default)(e),r){var t=new RegExp("[".concat(r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"]+$"),"g");return e.replace(t,"")}for(var n=e.length-1;/\s/.test(e.charAt(n));)n-=1;return e.slice(0,n+1)}bu.exports=Jt.default;bu.exports.default=Jt.default});var Pc=A((Qt,Su)=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.default=ow;var dw=Rc(Au()),lw=Rc(wu());function Rc(e){return e&&e.__esModule?e:{default:e}}function ow(e,r){return(0,dw.default)((0,lw.default)(e,r),r)}Su.exports=Qt.default;Su.exports.default=Qt.default});var Fc=A((en,ku)=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.default=pw;var cw=fw(F());function fw(e){return e&&e.__esModule?e:{default:e}}function pw(e){return(0,cw.default)(e),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\//g,"/").replace(/\\/g,"\").replace(/`/g,"`")}ku.exports=en.default;ku.exports.default=en.default});var Dc=A((rn,xu)=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.default=gw;var mw=hw(F());function hw(e){return e&&e.__esModule?e:{default:e}}function gw(e){return(0,mw.default)(e),e.replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(///g,"/").replace(/\/g,"\\").replace(/`/g,"`").replace(/&/g,"&")}xu.exports=rn.default;xu.exports.default=rn.default});var Tu=A((tn,Eu)=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.default=yw;var _w=vw(F());function vw(e){return e&&e.__esModule?e:{default:e}}function yw(e,r){return(0,_w.default)(e),e.replace(new RegExp("[".concat(r,"]+"),"g"),"")}Eu.exports=tn.default;Eu.exports.default=tn.default});var $c=A((nn,Mu)=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.default=Aw;var ww=Oc(F()),bw=Oc(Tu());function Oc(e){return e&&e.__esModule?e:{default:e}}function Aw(e,r){(0,ww.default)(e);var t=r?"\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F":"\\x00-\\x1F\\x7F";return(0,bw.default)(e,t)}Mu.exports=nn.default;Mu.exports.default=nn.default});var Hc=A((an,Cu)=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.default=xw;var Sw=kw(F());function kw(e){return e&&e.__esModule?e:{default:e}}function xw(e,r){return(0,Sw.default)(e),e.replace(new RegExp("[^".concat(r,"]+"),"g"),"")}Cu.exports=an.default;Cu.exports.default=an.default});var Nc=A((un,Iu)=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.default=Mw;var Ew=Tw(F());function Tw(e){return e&&e.__esModule?e:{default:e}}function Mw(e,r){(0,Ew.default)(e);for(var t=e.length-1;t>=0;t--)if(r.indexOf(e[t])===-1)return!1;return!0}Iu.exports=un.default;Iu.exports.default=un.default});var Bc=A((sn,Lu)=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.default=$w;var Cw=Iw(me());function Iw(e){return e&&e.__esModule?e:{default:e}}var Lw={all_lowercase:!0,gmail_lowercase:!0,gmail_remove_dots:!0,gmail_remove_subaddress:!0,gmail_convert_googlemaildotcom:!0,outlookdotcom_lowercase:!0,outlookdotcom_remove_subaddress:!0,yahoo_lowercase:!0,yahoo_remove_subaddress:!0,yandex_lowercase:!0,icloud_lowercase:!0,icloud_remove_subaddress:!0},Rw=["icloud.com","me.com"],Pw=["hotmail.at","hotmail.be","hotmail.ca","hotmail.cl","hotmail.co.il","hotmail.co.nz","hotmail.co.th","hotmail.co.uk","hotmail.com","hotmail.com.ar","hotmail.com.au","hotmail.com.br","hotmail.com.gr","hotmail.com.mx","hotmail.com.pe","hotmail.com.tr","hotmail.com.vn","hotmail.cz","hotmail.de","hotmail.dk","hotmail.es","hotmail.fr","hotmail.hu","hotmail.id","hotmail.ie","hotmail.in","hotmail.it","hotmail.jp","hotmail.kr","hotmail.lv","hotmail.my","hotmail.ph","hotmail.pt","hotmail.sa","hotmail.sg","hotmail.sk","live.be","live.co.uk","live.com","live.com.ar","live.com.mx","live.de","live.es","live.eu","live.fr","live.it","live.nl","msn.com","outlook.at","outlook.be","outlook.cl","outlook.co.il","outlook.co.nz","outlook.co.th","outlook.com","outlook.com.ar","outlook.com.au","outlook.com.br","outlook.com.gr","outlook.com.pe","outlook.com.tr","outlook.com.vn","outlook.cz","outlook.de","outlook.dk","outlook.es","outlook.fr","outlook.hu","outlook.id","outlook.ie","outlook.in","outlook.it","outlook.jp","outlook.kr","outlook.lv","outlook.my","outlook.ph","outlook.pt","outlook.sa","outlook.sg","outlook.sk","passport.com"],Fw=["rocketmail.com","yahoo.ca","yahoo.co.uk","yahoo.com","yahoo.de","yahoo.fr","yahoo.in","yahoo.it","ymail.com"],Dw=["yandex.ru","yandex.ua","yandex.kz","yandex.com","yandex.by","ya.ru"];function Ow(e){return e.length>1?e:""}function $w(e,r){r=(0,Cw.default)(r,Lw);var t=e.split("@"),n=t.pop(),i=t.join("@"),u=[i,n];if(u[1]=u[1].toLowerCase(),u[1]==="gmail.com"||u[1]==="googlemail.com"){if(r.gmail_remove_subaddress&&(u[0]=u[0].split("+")[0]),r.gmail_remove_dots&&(u[0]=u[0].replace(/\.+/g,Ow)),!u[0].length)return!1;(r.all_lowercase||r.gmail_lowercase)&&(u[0]=u[0].toLowerCase()),u[1]=r.gmail_convert_googlemaildotcom?"gmail.com":u[1]}else if(Rw.indexOf(u[1])>=0){if(r.icloud_remove_subaddress&&(u[0]=u[0].split("+")[0]),!u[0].length)return!1;(r.all_lowercase||r.icloud_lowercase)&&(u[0]=u[0].toLowerCase())}else if(Pw.indexOf(u[1])>=0){if(r.outlookdotcom_remove_subaddress&&(u[0]=u[0].split("+")[0]),!u[0].length)return!1;(r.all_lowercase||r.outlookdotcom_lowercase)&&(u[0]=u[0].toLowerCase())}else if(Fw.indexOf(u[1])>=0){if(r.yahoo_remove_subaddress){var d=u[0].split("-");u[0]=d.length>1?d.slice(0,-1).join("-"):d[0]}if(!u[0].length)return!1;(r.all_lowercase||r.yahoo_lowercase)&&(u[0]=u[0].toLowerCase())}else Dw.indexOf(u[1])>=0?((r.all_lowercase||r.yandex_lowercase)&&(u[0]=u[0].toLowerCase()),u[1]="yandex.ru"):r.all_lowercase&&(u[0]=u[0].toLowerCase());return u.join("@")}Lu.exports=sn.default;Lu.exports.default=sn.default});var qc=A((dn,Ru)=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.default=qw;var Hw=Nw(F());function Nw(e){return e&&e.__esModule?e:{default:e}}var Bw=/^[^\s-_](?!.*?[-_]{2,})[a-z0-9-\\][^\s]*[^-_\s]$/;function qw(e){return(0,Hw.default)(e),Bw.test(e)}Ru.exports=dn.default;Ru.exports.default=dn.default});var zc=A((ln,Pu)=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.default=Ww;var zw=Uw(F());function Uw(e){return e&&e.__esModule?e:{default:e}}var Qn={"cs-CZ":function(r){return/^(([ABCDEFHKIJKLMNPRSTUVXYZ]|[0-9])-?){5,8}$/.test(r)},"de-DE":function(r){return/^((AW|UL|AK|GA|AÖ|LF|AZ|AM|AS|ZE|AN|AB|A|KG|KH|BA|EW|BZ|HY|KM|BT|HP|B|BC|BI|BO|FN|TT|ÜB|BN|AH|BS|FR|HB|ZZ|BB|BK|BÖ|OC|OK|CW|CE|C|CO|LH|CB|KW|LC|LN|DA|DI|DE|DH|SY|NÖ|DO|DD|DU|DN|D|EI|EA|EE|FI|EM|EL|EN|PF|ED|EF|ER|AU|ZP|E|ES|NT|EU|FL|FO|FT|FF|F|FS|FD|FÜ|GE|G|GI|GF|GS|ZR|GG|GP|GR|NY|ZI|GÖ|GZ|GT|HA|HH|HM|HU|WL|HZ|WR|RN|HK|HD|HN|HS|GK|HE|HF|RZ|HI|HG|HO|HX|IK|IL|IN|J|JL|KL|KA|KS|KF|KE|KI|KT|KO|KN|KR|KC|KU|K|LD|LL|LA|L|OP|LM|LI|LB|LU|LÖ|HL|LG|MD|GN|MZ|MA|ML|MR|MY|AT|DM|MC|NZ|RM|RG|MM|ME|MB|MI|FG|DL|HC|MW|RL|MK|MG|MÜ|WS|MH|M|MS|NU|NB|ND|NM|NK|NW|NR|NI|NF|DZ|EB|OZ|TG|TO|N|OA|GM|OB|CA|EH|FW|OF|OL|OE|OG|BH|LR|OS|AA|GD|OH|KY|NP|WK|PB|PA|PE|PI|PS|P|PM|PR|RA|RV|RE|R|H|SB|WN|RS|RD|RT|BM|NE|GV|RP|SU|GL|RO|GÜ|RH|EG|RW|PN|SK|MQ|RU|SZ|RI|SL|SM|SC|HR|FZ|VS|SW|SN|CR|SE|SI|SO|LP|SG|NH|SP|IZ|ST|BF|TE|HV|OD|SR|S|AC|DW|ZW|TF|TS|TR|TÜ|UM|PZ|TP|UE|UN|UH|MN|KK|VB|V|AE|PL|RC|VG|GW|PW|VR|VK|KB|WA|WT|BE|WM|WE|AP|MO|WW|FB|WZ|WI|WB|JE|WF|WO|W|WÜ|BL|Z|GC)[- ]?[A-Z]{1,2}[- ]?\d{1,4}|(AIC|FDB|ABG|SLN|SAW|KLZ|BUL|ESB|NAB|SUL|WST|ABI|AZE|BTF|KÖT|DKB|FEU|ROT|ALZ|SMÜ|WER|AUR|NOR|DÜW|BRK|HAB|TÖL|WOR|BAD|BAR|BER|BIW|EBS|KEM|MÜB|PEG|BGL|BGD|REI|WIL|BKS|BIR|WAT|BOR|BOH|BOT|BRB|BLK|HHM|NEB|NMB|WSF|LEO|HDL|WMS|WZL|BÜS|CHA|KÖZ|ROD|WÜM|CLP|NEC|COC|ZEL|COE|CUX|DAH|LDS|DEG|DEL|RSL|DLG|DGF|LAN|HEI|MED|DON|KIB|ROK|JÜL|MON|SLE|EBE|EIC|HIG|WBS|BIT|PRÜ|LIB|EMD|WIT|ERH|HÖS|ERZ|ANA|ASZ|MAB|MEK|STL|SZB|FDS|HCH|HOR|WOL|FRG|GRA|WOS|FRI|FFB|GAP|GER|BRL|CLZ|GTH|NOH|HGW|GRZ|LÖB|NOL|WSW|DUD|HMÜ|OHA|KRU|HAL|HAM|HBS|QLB|HVL|NAU|HAS|EBN|GEO|HOH|HDH|ERK|HER|WAN|HEF|ROF|HBN|ALF|HSK|USI|NAI|REH|SAN|KÜN|ÖHR|HOL|WAR|ARN|BRG|GNT|HOG|WOH|KEH|MAI|PAR|RID|ROL|KLE|GEL|KUS|KYF|ART|SDH|LDK|DIL|MAL|VIB|LER|BNA|GHA|GRM|MTL|WUR|LEV|LIF|STE|WEL|LIP|VAI|LUP|HGN|LBZ|LWL|PCH|STB|DAN|MKK|SLÜ|MSP|TBB|MGH|MTK|BIN|MSH|EIL|HET|SGH|BID|MYK|MSE|MST|MÜR|WRN|MEI|GRH|RIE|MZG|MIL|OBB|BED|FLÖ|MOL|FRW|SEE|SRB|AIB|MOS|BCH|ILL|SOB|NMS|NEA|SEF|UFF|NEW|VOH|NDH|TDO|NWM|GDB|GVM|WIS|NOM|EIN|GAN|LAU|HEB|OHV|OSL|SFB|ERB|LOS|BSK|KEL|BSB|MEL|WTL|OAL|FÜS|MOD|OHZ|OPR|BÜR|PAF|PLÖ|CAS|GLA|REG|VIT|ECK|SIM|GOA|EMS|DIZ|GOH|RÜD|SWA|NES|KÖN|MET|LRO|BÜZ|DBR|ROS|TET|HRO|ROW|BRV|HIP|PAN|GRI|SHK|EIS|SRO|SOK|LBS|SCZ|MER|QFT|SLF|SLS|HOM|SLK|ASL|BBG|SBK|SFT|SHG|MGN|MEG|ZIG|SAD|NEN|OVI|SHA|BLB|SIG|SON|SPN|FOR|GUB|SPB|IGB|WND|STD|STA|SDL|OBG|HST|BOG|SHL|PIR|FTL|SEB|SÖM|SÜW|TIR|SAB|TUT|ANG|SDT|LÜN|LSZ|MHL|VEC|VER|VIE|OVL|ANK|OVP|SBG|UEM|UER|WLG|GMN|NVP|RDG|RÜG|DAU|FKB|WAF|WAK|SLZ|WEN|SOG|APD|WUG|GUN|ESW|WIZ|WES|DIN|BRA|BÜD|WHV|HWI|GHC|WTM|WOB|WUN|MAK|SEL|OCH|HOT|WDA)[- ]?(([A-Z][- ]?\d{1,4})|([A-Z]{2}[- ]?\d{1,3})))[- ]?(E|H)?$/.test(r)},"de-LI":function(r){return/^FL[- ]?\d{1,5}[UZ]?$/.test(r)},"fi-FI":function(r){return/^(?=.{4,7})(([A-Z]{1,3}|[0-9]{1,3})[\s-]?([A-Z]{1,3}|[0-9]{1,5}))$/.test(r)},"pt-PT":function(r){return/^([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})[ -·]?([A-Z]{2}|[0-9]{2})$/.test(r)},"sq-AL":function(r){return/^[A-Z]{2}[- ]?((\d{3}[- ]?(([A-Z]{2})|T))|(R[- ]?\d{3}))$/.test(r)},"pt-BR":function(r){return/^[A-Z]{3}[ -]?[0-9][A-Z][0-9]{2}|[A-Z]{3}[ -]?[0-9]{4}$/.test(r)}};function Ww(e,r){if((0,zw.default)(e),r in Qn)return Qn[r](e);if(r==="any"){for(var t in Qn){var n=Qn[t];if(n(e))return!0}return!1}throw new Error("Invalid locale '".concat(r,"'"))}Pu.exports=ln.default;Pu.exports.default=ln.default});var Wc=A((on,Fu)=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.default=rb;var Gw=Uc(me()),Zw=Uc(F());function Uc(e){return e&&e.__esModule?e:{default:e}}var Yw=/^[A-Z]$/,Kw=/^[a-z]$/,Vw=/^[0-9]$/,jw=/^[-#!$@%^&*()_+|~=`{}\[\]:";'<>?,.\/ ]$/,Xw={minLength:8,minLowercase:1,minUppercase:1,minNumbers:1,minSymbols:1,returnScore:!1,pointsPerUnique:1,pointsPerRepeat:.5,pointsForContainingLower:10,pointsForContainingUpper:10,pointsForContainingNumber:10,pointsForContainingSymbol:10};function Jw(e){var r={};return Array.from(e).forEach(function(t){var n=r[t];n?r[t]+=1:r[t]=1}),r}function Qw(e){var r=Jw(e),t={length:e.length,uniqueChars:Object.keys(r).length,uppercaseCount:0,lowercaseCount:0,numberCount:0,symbolCount:0};return Object.keys(r).forEach(function(n){Yw.test(n)?t.uppercaseCount+=r[n]:Kw.test(n)?t.lowercaseCount+=r[n]:Vw.test(n)?t.numberCount+=r[n]:jw.test(n)&&(t.symbolCount+=r[n])}),t}function eb(e,r){var t=0;return t+=e.uniqueChars*r.pointsPerUnique,t+=(e.length-e.uniqueChars)*r.pointsPerRepeat,e.lowercaseCount>0&&(t+=r.pointsForContainingLower),e.uppercaseCount>0&&(t+=r.pointsForContainingUpper),e.numberCount>0&&(t+=r.pointsForContainingNumber),e.symbolCount>0&&(t+=r.pointsForContainingSymbol),t}function rb(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;(0,Zw.default)(e);var t=Qw(e);return r=(0,Gw.default)(r||{},Xw),r.returnScore?eb(t,r):t.length>=r.minLength&&t.lowercaseCount>=r.minLowercase&&t.uppercaseCount>=r.minUppercase&&t.numberCount>=r.minNumbers&&t.symbolCount>=r.minSymbols}Fu.exports=on.default;Fu.exports.default=on.default});var Zc=A(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.default=nb;cn.vatMatchers=void 0;var Gc=tb(F());function tb(e){return e&&e.__esModule?e:{default:e}}var Du={GB:/^GB((\d{3} \d{4} ([0-8][0-9]|9[0-6]))|(\d{9} \d{3})|(((GD[0-4])|(HA[5-9]))[0-9]{2}))$/,IT:/^(IT)?[0-9]{11}$/,NL:/^(NL)?[0-9]{9}B[0-9]{2}$/};cn.vatMatchers=Du;function nb(e,r){if((0,Gc.default)(e),(0,Gc.default)(r),r in Du)return Du[r].test(e);throw new Error("Invalid country code: '".concat(r,"'"))}});var ef=A((ur,Ou)=>{"use strict";function ea(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ea=function(t){return typeof t}:ea=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ea(e)}Object.defineProperty(ur,"__esModule",{value:!0});ur.default=void 0;var ab=O(Dn()),ib=O(Oa()),ub=O(xl()),sb=O(El()),db=O(Tl()),lb=O(Cl()),ob=O(Il()),cb=O(Fl()),fb=O(Hl()),pb=O(Nl()),mb=O(Pr()),hb=O(Wl()),gb=O(Wn()),_b=O(ni()),vb=O(jl()),yb=O(Xl()),Yc=ir(Jl()),Kc=ir(Ql()),wb=O(eo()),bb=O(to()),Ab=O(no()),Sb=O(ao()),kb=O(io()),xb=O(uo()),Eb=O(so()),Tb=O(gi()),Mb=O(_i()),Cb=O(co()),Ib=O(fo()),Lb=O(ho()),Rb=O(go()),Pb=O(Zn()),Vc=ir(Fa()),Fb=O(yo()),Db=O(Ti()),Ob=O(wo()),$b=O(Ao()),Hb=O(So()),Nb=O(Eo()),Bb=O(To()),qb=O(Mo()),jc=ir(Co()),zb=O(Lo()),Ub=O(Ro()),Wb=O(Po()),Gb=O(Oo()),Zb=O(Ho()),Yb=O(Bo()),Kb=O(qo()),Vb=O(Ya()),jb=O(zo()),Xb=O(Wo()),Jb=O(Yo()),Qb=O(jo()),eA=O(Jo()),rA=O(Qo()),tA=O(rc()),nA=O(tc()),aA=O(nc()),iA=O(ac()),uA=O(ic()),sA=O(cc()),Xc=ir(fc()),dA=O(pc()),lA=O(hc()),oA=O(gc()),cA=O(_c()),fA=O(wc()),pA=O(Di()),mA=O(bc()),hA=O(Sc()),gA=O(kc()),_A=O(xc()),vA=O(Bi()),yA=O(Ec()),wA=O(Tc()),bA=O(Mc()),AA=O(Ic()),Jc=ir(Lc()),SA=O(wu()),kA=O(Au()),xA=O(Pc()),EA=O(Fc()),TA=O(Dc()),MA=O($c()),CA=O(Hc()),IA=O(Tu()),LA=O(Nc()),RA=O(Bc()),PA=O(qc()),FA=O(zc()),DA=O(Wc()),OA=O(Zc());function Qc(){if(typeof WeakMap!="function")return null;var e=new WeakMap;return Qc=function(){return e},e}function ir(e){if(e&&e.__esModule)return e;if(e===null||ea(e)!=="object"&&typeof e!="function")return{default:e};var r=Qc();if(r&&r.has(e))return r.get(e);var t={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var u=n?Object.getOwnPropertyDescriptor(e,i):null;u&&(u.get||u.set)?Object.defineProperty(t,i,u):t[i]=e[i]}return t.default=e,r&&r.set(e,t),t}function O(e){return e&&e.__esModule?e:{default:e}}var $A="13.7.0",HA={version:$A,toDate:ab.default,toFloat:ib.default,toInt:ub.default,toBoolean:sb.default,equals:db.default,contains:lb.default,matches:ob.default,isEmail:cb.default,isURL:fb.default,isMACAddress:pb.default,isIP:mb.default,isIPRange:hb.default,isFQDN:gb.default,isBoolean:vb.default,isIBAN:jc.default,isBIC:zb.default,isAlpha:Yc.default,isAlphaLocales:Yc.locales,isAlphanumeric:Kc.default,isAlphanumericLocales:Kc.locales,isNumeric:wb.default,isPassportNumber:bb.default,isPort:Ab.default,isLowercase:Sb.default,isUppercase:kb.default,isAscii:Eb.default,isFullWidth:Tb.default,isHalfWidth:Mb.default,isVariableWidth:Cb.default,isMultibyte:Ib.default,isSemVer:Lb.default,isSurrogatePair:Rb.default,isInt:Pb.default,isIMEI:xb.default,isFloat:Vc.default,isFloatLocales:Vc.locales,isDecimal:Fb.default,isHexadecimal:Db.default,isOctal:Ob.default,isDivisibleBy:$b.default,isHexColor:Hb.default,isRgbColor:Nb.default,isHSL:Bb.default,isISRC:qb.default,isMD5:Ub.default,isHash:Wb.default,isJWT:Gb.default,isJSON:Zb.default,isEmpty:Yb.default,isLength:Kb.default,isLocale:yb.default,isByteLength:Vb.default,isUUID:jb.default,isMongoId:Xb.default,isAfter:Jb.default,isBefore:Qb.default,isIn:eA.default,isCreditCard:rA.default,isIdentityCard:tA.default,isEAN:nA.default,isISIN:aA.default,isISBN:iA.default,isISSN:uA.default,isMobilePhone:Xc.default,isMobilePhoneLocales:Xc.locales,isPostalCode:Jc.default,isPostalCodeLocales:Jc.locales,isEthereumAddress:dA.default,isCurrency:lA.default,isBtcAddress:oA.default,isISO8601:cA.default,isRFC3339:fA.default,isISO31661Alpha2:pA.default,isISO31661Alpha3:mA.default,isISO4217:hA.default,isBase32:gA.default,isBase58:_A.default,isBase64:vA.default,isDataURI:yA.default,isMagnetURI:wA.default,isMimeType:bA.default,isLatLong:AA.default,ltrim:SA.default,rtrim:kA.default,trim:xA.default,escape:EA.default,unescape:TA.default,stripLow:MA.default,whitelist:CA.default,blacklist:IA.default,isWhitelisted:LA.default,normalizeEmail:RA.default,toString,isSlug:PA.default,isStrongPassword:DA.default,isTaxID:sA.default,isDate:_b.default,isLicensePlate:FA.default,isVAT:OA.default,ibanLocales:jc.locales},NA=HA;ur.default=NA;Ou.exports=ur.default;Ou.exports.default=ur.default});var uf=A((dE,ra)=>{var UA=typeof window!="undefined"?window:typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope?self:{};var H=function(e){var r=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function v(w){return w instanceof u?new u(w.type,v(w.content),w.alias):Array.isArray(w)?w.map(v):w.replace(/&/g,"&").replace(/"+a.content+""};function d(v,w,I,R){v.lastIndex=w;var a=v.exec(I);if(a&&R&&a[1]){var l=a[1].length;a.index+=l,a[0]=a[0].slice(l)}return a}function o(v,w,I,R,a,l){for(var s in I)if(!(!I.hasOwnProperty(s)||!I[s])){var c=I[s];c=Array.isArray(c)?c:[c];for(var h=0;h=l.reach);T+=p.value.length,p=p.next){var P=p.value;if(w.length>v.length)return;if(!(P instanceof u)){var $=1,B;if(D){if(B=d(C,T,v,b),!B||B.index>=v.length)break;var ee=B.index,N=B.index+B[0].length,z=T;for(z+=p.value.length;ee>=z;)p=p.next,z+=p.value.length;if(z-=p.value.length,T=z,p.value instanceof u)continue;for(var G=p;G!==w.tail&&(zl.reach&&(l.reach=ie);var xe=p.prev;re&&(xe=g(w,xe,re),T+=re.length),M(w,xe,$);var dr=new u(s,m?i.tokenize(Y,m):Y,L,Y);if(p=g(w,xe,dr),ue&&g(w,p,ue),$>1){var qe={cause:s+","+h,reach:ie};o(v,w,I,p.prev,T,qe),l&&qe.reach>l.reach&&(l.reach=qe.reach)}}}}}}function f(){var v={value:null,prev:null,next:null},w={value:null,prev:v,next:null};v.next=w,this.head=v,this.tail=w,this.length=0}function g(v,w,I){var R=w.next,a={value:I,prev:w,next:R};return w.next=a,R.prev=a,v.length++,a}function M(v,w,I){for(var R=w.next,a=0;a/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]};H.languages.markup.tag.inside["attr-value"].inside.entity=H.languages.markup.entity;H.languages.markup.doctype.inside["internal-subset"].inside=H.languages.markup;H.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});Object.defineProperty(H.languages.markup.tag,"addInlined",{value:function(r,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:H.languages[t]},n.cdata=/^$/i;var i={"included-cdata":{pattern://i,inside:n}};i["language-"+t]={pattern:/[\s\S]+/,inside:H.languages[t]};var u={};u[r]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return r}),"i"),lookbehind:!0,greedy:!0,inside:i},H.languages.insertBefore("markup","cdata",u)}});Object.defineProperty(H.languages.markup.tag,"addAttribute",{value:function(e,r){H.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[r,"language-"+r],inside:H.languages[r]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}});H.languages.html=H.languages.markup;H.languages.mathml=H.languages.markup;H.languages.svg=H.languages.markup;H.languages.xml=H.languages.extend("markup",{});H.languages.ssml=H.languages.xml;H.languages.atom=H.languages.xml;H.languages.rss=H.languages.xml;(function(e){var r=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+r.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+r.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+r.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:r,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var t=e.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))})(H);H.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};H.languages.javascript=H.languages.extend("clike",{"class-name":[H.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});H.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;H.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:H.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:H.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:H.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:H.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:H.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});H.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:H.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});H.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});H.languages.markup&&(H.languages.markup.tag.addInlined("script","javascript"),H.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));H.languages.js=H.languages.javascript;(function(){if(typeof H=="undefined"||typeof document=="undefined")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e="Loading\u2026",r=function(E,y){return"\u2716 Error "+E+" while fetching file: "+y},t="\u2716 Error: File does not exist or is empty",n={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},i="data-src-status",u="loading",d="loaded",o="failed",f="pre[data-src]:not(["+i+'="'+d+'"]):not(['+i+'="'+u+'"])';function g(E,y,k){var v=new XMLHttpRequest;v.open("GET",E,!0),v.onreadystatechange=function(){v.readyState==4&&(v.status<400&&v.responseText?y(v.responseText):v.status>=400?k(r(v.status,v.statusText)):k(t))},v.send(null)}function M(E){var y=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(E||"");if(y){var k=Number(y[1]),v=y[2],w=y[3];return v?w?[k,Number(w)]:[k,void 0]:[k,k]}}H.hooks.add("before-highlightall",function(E){E.selector+=", "+f}),H.hooks.add("before-sanity-check",function(E){var y=E.element;if(y.matches(f)){E.code="",y.setAttribute(i,u);var k=y.appendChild(document.createElement("CODE"));k.textContent=e;var v=y.getAttribute("data-src"),w=E.language;if(w==="none"){var I=(/\.(\w+)$/.exec(v)||[,"none"])[1];w=n[I]||I}H.util.setLanguage(k,w),H.util.setLanguage(y,w);var R=H.plugins.autoloader;R&&R.loadLanguages(w),g(v,function(a){y.setAttribute(i,d);var l=M(y.getAttribute("data-range"));if(l){var s=a.split(/\r\n?|\n/g),c=l[0],h=l[1]==null?s.length:l[1];c<0&&(c+=s.length),c=Math.max(0,Math.min(c-1,s.length)),h<0&&(h+=s.length),h=Math.max(0,Math.min(h,s.length)),a=s.slice(c,h).join(` +`),y.hasAttribute("data-start")||y.setAttribute("data-start",String(c+1))}k.textContent=a,H.highlightElement(k)},function(a){y.setAttribute(i,o),k.textContent=a})}}),H.plugins.fileHighlight={highlight:function(y){for(var k=(y||document).querySelectorAll(f),v=0,w;w=k[v++];)H.highlightElement(w)}};var S=!1;H.fileHighlight=function(){S||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),S=!0),H.plugins.fileHighlight.highlight.apply(this,arguments)}})()});var sf=A((fn,$u)=>{(function(e,r){typeof fn=="object"&&typeof $u=="object"?$u.exports=r():typeof define=="function"&&define.amd?define("PollUntil",[],r):typeof fn=="object"?fn.PollUntil=r():e.PollUntil=r()})(fn,function(){return function(e){var r={};function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=r,t.d=function(n,i,u){t.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:u})},t.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,i){if(1&i&&(n=t(n)),8&i||4&i&&typeof n=="object"&&n&&n.__esModule)return n;var u=Object.create(null);if(t.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:n}),2&i&&typeof n!="string")for(var d in n)t.d(u,d,function(o){return n[o]}.bind(null,d));return u},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},t.p="",t(t.s=0)}([function(e,r,t){e.exports=t(1)},function(e,r,t){(function(n){let i="Your executor is not a function. functions and promises are valid.",u="Failed to wait";class d{constructor({Promise:f=n.Promise,setTimeout:g,interval:M=100,timeout:S=1e3,stopOnFailure:E=!1,verbose:y=!1,backoffFactor:k=1,message:v}={}){this._PromiseModule=f,this._setTimeoutModule=g,this._interval=M,this._timeout=S,this._stopOnFailure=E,this._isWaiting=!1,this._isResolved=!1,this._verbose=y,this._userMessage=v,this.originalStacktraceError=new Error,this._Console=console,this._backoffFactor=k}tryEvery(f){return this._interval=f,this}stopAfter(f){return this._timeout=f,this}execute(f){var g;return this._applyPromiseHandlers(),function(M){if(typeof M!="function")throw new Error(i)}(f),this._executeFn=(g=f,()=>X(this,null,function*(){return yield g()})),this.start=Date.now(),this._isWaiting=!0,this._log("starting to execute"),this._runFunction(),this.promise}getPromise(){return this.promise}isResolved(){return this._isResolved}isWaiting(){return this._isWaiting}stopOnFailure(f){return this._stopOnFailure=f,this}_applyPromiseHandlers(){this.promise=new this._PromiseModule((f,g)=>{this.resolve=f,this.reject=g})}_timeFromStart(){return Date.now()-this.start}_shouldStopTrying(){return this._timeFromStart()>this._timeout}_executeAgain(){this._log("executing again"),this._interval*=this._backoffFactor,typeof this._setTimeoutModule=="function"?this._setTimeoutModule(this._runFunction.bind(this),this._interval):setTimeout(this._runFunction.bind(this),this._interval)}_failedToWait(){let f=`${u} after ${this._timeFromStart()}ms`;if(this._userMessage&&(f=`${f}: ${this._userMessage}`),this._lastError){this._lastError.message=`${f} +${this._lastError.message}`;let g=this.originalStacktraceError.stack;this._lastError.stack+=g.substring(g.indexOf(` +`)+1)}else this._lastError=this.originalStacktraceError,this._lastError.message=f;return this._log(this._lastError),this._lastError}_runFunction(){if(this._shouldStopTrying())return this._isWaiting=!1,void this.reject(this._failedToWait());this._executeFn().then(f=>{if(f===!1)return this._log("then execute again with result: "+f),void this._executeAgain();this.resolve(f),this._isWaiting=!1,this._isResolved=!0,this._log("then done waiting with result: "+f)}).catch(f=>this._stopOnFailure?(this._log("stopped on failure with err: "+f),this.reject(f)):(this._lastError=f,this._log("catch with err: "+f),this._executeAgain()))}_log(f){this._verbose&&this._Console&&this._Console.log&&this._Console.log(f)}}e.exports={PollUntil:d,waitFor:(o,f)=>new d(f).execute(o)}}).call(this,t(2))},function(e,r){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(n){typeof window=="object"&&(t=window)}e.exports=t}])})});Lf(exports,{default:()=>zu});var ve=j(require("obsidian"));var lf=j(require("obsidian"));var Pf=/!\[\[.*(pdf)(.*)?\]\]/,Ff=/(?<=\[\[).*.pdf/,Df=/!\[(^$|.*)\]\(.*(pdf)(.*)?\)/,Of=/(?<=\().*.pdf/,Ku=e=>{let r=e.match(Pf),t=e.match(Df);return r?{result:r,linkType:1}:t?{result:t,linkType:2}:{result:!1,linkType:0}},Vu=(e,r)=>{let t;e==1&&(t=Ff),e==2&&(t=Of);var n=r[0].match(t);return n[0]},ju=e=>{let r=new RegExp("#page=[0-9]+"),t=e[0].match(r);return t?t[0]:!1};var Xu=j(require("obsidian")),Ju=e=>e.getActiveFile(),ze=(e,r)=>e.getResourcePath(r)+"?"+r.stat.mtime,Qu=(e,r,t)=>{t.workspace.openLinkText(r,"/",Xu.Keymap.isModifier(e,"Mod")||e.button===1)},Ue=e=>e.replace(/\s|\W|[#$%^&*()]/g,""),es=(e,r)=>e.plugins.getPlugin(r),ca=e=>{var r;return(r=e.vault.config)==null?void 0:r.livePreview};var fa=/!\[(^$|.*?)\]\(.*?\)/,$f=/(?<=\]\().*?(?=\))/,Hf=/(?<=\[)(^$|.*)(?=\])/,Nf=/!\[\[.*?\]\]/,Bf=/(?<=\[\[).*?((?=\|))|(?<=\[\[).*?(?=\]\])/,qf=/(?<=\|).*(?=]])/,We=e=>es(e,"obsidian-excalidraw-plugin"),Ge=e=>e.extension==="excalidraw"||ExcalidrawAutomate.isExcalidrawFile&&ExcalidrawAutomate.isExcalidrawFile(e),mn=e=>X(void 0,null,function*(){ExcalidrawAutomate.reset();var r=yield ExcalidrawAutomate.createPNG(e.path);return r}),rs=e=>fa.test(e)||Nf.test(e),ts=(e,r,t)=>{let n=e.match(fa.test(e)?$f:Bf);if(n){let i=n[0];return t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(i),r)}return null},ns=e=>{let r=e.match(fa.test(e)?Hf:qf);return r?r[0]:""};var Ze=e=>{ye(["oz-image-widget","oz-transclusion-widget","oz-richlink-widget"],e)},pa=e=>{var r=e.lastLine();for(let t=0;t<=r;t++){let n=e.lineInfo(t);Ze(n)}},as=e=>{ye(["oz-transclusion-widget"],e)},ye=(e,r)=>{if(r.widgets){e:for(let t of r.widgets){let n=t.className;if(n!==""){let i=n.split(" ");for(let u of e)if(i.contains(u)){t.clear();continue e}}e.contains(t.className)&&t.clear()}}},hn=(e,r)=>{if(e.widgets){let t=[];for(let n of e.widgets){let i=n.className;i!==""&&i.split(" ").contains(r)&&t.push(n)}return t.length>0?t:!1}return!1};var zf=/(http[s]?:\/\/)([^\/\s]+\/)(.*)/,Uf=/!\[\[[a-z][a-z0-9+\-.]+:\/.*\]\]/,Wf=/!\[[^)]*\]\([a-z][a-z0-9+\-.]+:\/[^)]*\)/,is=e=>!!e.match(zf),us=e=>{let r=e.match(Uf),t=e.match(Wf);return r?{result:r,linkType:3}:t?{result:t,linkType:4}:{result:!1,linkType:0}};var ss=j(require("obsidian")),Gf=/.*.(jpe?g|png|gif|svg|bmp)/,Zf=/!\[\[.*?(jpe?g|png|gif|svg|bmp).*?\]\]/,Yf=/(?<=\[\[).*(jpe?g|png|gif|svg|bmp)/,Kf=/!\[(^$|.*?)\]\(.*?(jpe?g|png|gif|svg|bmp)\)/,Vf=/(?<=\().*(jpe?g|png|gif|svg|bmp)/,jf=/(?<=\[\[).*(?=\|)|(?<=\[\[).*(?=\]\])/,Xf=/(?<=\().*(?=\))/,ds=e=>{let r=e.match(Zf),t=e.match(Kf);return r?{result:r,linkType:1}:t?{result:t,linkType:2}:{result:!1,linkType:0}},ls=(e,r)=>{var t,n;e==1||e==3?(e==1&&(t=Yf),e==3&&(t=jf),n=/(?<=\|).*(?=]])/):(e==2||e==4)&&(e==2&&(t=Vf),e==4&&(t=Xf),n=/(?<=\[)(^$|.*)(?=\])/);var i=r[0].match(t),u=r[0].match(n);return{fileName:i?i[0]:"",altText:u?u[0]:""}},Re=e=>{let r=/[^(x|0-9)]/;if(e.match(r))return!1;let t=/[0-9]+x[0-9]+/,n=/[0-9]+/;var i=e.match(t);if(i){var u=i[0].indexOf("x");return{width:parseInt(i[0].substr(0,u)),height:parseInt(i[0].substr(u+1))}}else{var d=e.match(n);if(d)return{width:parseInt(d[0])}}return!1},os=e=>{var r=e.match(Gf);return!!r},cs=e=>X(void 0,null,function*(){return fetch(e).then(r=>r.blob())}),fs=(e,r,t)=>{let n=new ss.Menu(r.app);return n.addItem(i=>{i.setTitle("Copy Image to Clipboard"),i.setIcon("image-file"),i.onClick(u=>X(void 0,null,function*(){var d=yield r.app.vault.adapter.readBinary(t.path),o=new Uint8Array(d),f=new Blob([o],{type:"image/png"});let g=new ClipboardItem({"image/png":f});window.navigator.clipboard.write([g])}))}),r.app.workspace.trigger("file-menu",n,t,"file-explorer"),n.showAtPosition({x:e.pageX,y:e.pageY}),!1};var Jf=/(?:]*)(?:(?:\/>)|(?:>.*?<\/iframe>))/,ps=e=>{let r=e.match(Jf);return r?{result:r,linkType:"iframe"}:{result:!1,linkType:0}},ms=e=>{var r=document.createElement("div");return r.innerHTML=e[0].trim(),r};var cl=j(gs());var Qf=function(){function e(r,t){for(var n=0;n1?d-1:0),f=1;f0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(u){return typeof u=="function"?u():u}),this.tag}return Qf(e,[{key:"interimTag",value:function(t,n){for(var i=arguments.length,u=Array(i>2?i-2:0),d=2;d0&&arguments[0]!==void 0?arguments[0]:"";return{onEndResult:function(n){if(r==="")return n.trim();if(r=r.toLowerCase(),r==="start"||r==="left")return n.replace(/^\s*/,"");if(r==="end"||r==="right")return n.replace(/\s*$/,"");throw new Error("Side not supported: "+r)}}},W=ap;function ip(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r0&&arguments[0]!==void 0?arguments[0]:"initial";return{onEndResult:function(n){if(r==="initial"){var i=n.match(/^[^\S\n]*(?=\S)/gm),u=i&&Math.min.apply(Math,ip(i.map(function(o){return o.length})));if(u){var d=new RegExp("^.{"+u+"}","gm");return n.replace(d,"")}return n}if(r==="all")return n.replace(/^[^\S\n]+/gm,"");throw new Error("Unknown type: "+r)}}},ne=up;var sp=function(r,t){return{onEndResult:function(i){if(r==null||t==null)throw new Error("replaceResultTransformer requires at least 2 arguments.");return i.replace(r,t)}}},ce=sp;var dp=function(r,t){return{onSubstitution:function(i,u){if(r==null||t==null)throw new Error("replaceSubstitutionTransformer requires at least 2 arguments.");return i==null?i:i.toString().replace(r,t)}}},Se=dp;var op={separator:"",conjunction:"",serial:!1},cp=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:op;return{onSubstitution:function(n,i){if(Array.isArray(n)){var u=n.length,d=r.separator,o=r.conjunction,f=r.serial,g=i.match(/(\n?[^\S\n]+)$/);if(g?n=n.join(d+g[1]):n=n.join(d+" "),o&&u>1){var M=n.lastIndexOf(d);n=n.slice(0,M)+(f?d:"")+" "+o+n.slice(M+1)}}return n}}},K=cp;var fp=function(r){return{onSubstitution:function(n,i){if(r!=null&&typeof r=="string")typeof n=="string"&&n.includes(r)&&(n=n.split(r));else throw new Error("You need to specify a string character to split by.");return n}}},Ye=fp;var _s=function(r){return r!=null&&!Number.isNaN(r)&&typeof r!="boolean"},pp=function(){return{onSubstitution:function(t){return Array.isArray(t)?t.filter(_s):_s(t)?t:""}}},_n=pp;var HS=new U(K({separator:","}),ne,W);var ZS=new U(K({separator:",",conjunction:"and"}),ne,W);var e2=new U(K({separator:",",conjunction:"or"}),ne,W);var o2=new U(Ye(` +`),_n,K,ne,W);var k2=new U(Ye(` +`),K,ne,W,Se(/&/g,"&"),Se(//g,">"),Se(/"/g,"""),Se(/'/g,"'"),Se(/`/g,"`"));var L2=new U(ce(/(?:\n(?:\s*))+/g," "),W);var H2=new U(ce(/(?:\n\s*)/g,""),W);var Z2=new U(K({separator:","}),ce(/(?:\s+)/g," "),W);var ek=new U(K({separator:",",conjunction:"or"}),ce(/(?:\s+)/g," "),W);var dk=new U(K({separator:",",conjunction:"and"}),ce(/(?:\s+)/g," "),W);var gk=new U(K,ne,W);var kk=new U(K,ce(/(?:\s+)/g," "),W);var Lk=new U(ne,W);var Ep=new U(ne("all"),W),vn=Ep;var fl=j(ol()),og=e=>{let r=e,t=/\[\[.*?\]\]/g,n=r.match(t);if(n){let i=/(?<=\[\[).*?(?=(\]|\|))/,u=/(?<=\|).*(?=]])/;for(let d of n){let o=d.match(i);if(o){let f=d.match(u),g=cg(o[0],f?f[0]:"");r=r.replace(d,g)}}}return r},cg=(e,r)=>`[${r}](${encodeURI(e)})`,pl=/!\[\[(.*)#\^(.*)\]\]/,ml=/!\[\[(.*)#((?!\^).*)\]\]/,fg=/(?<=#\^).*(?=]])/,pg=/(?<=#).*(?=]])/,mg=/(?<=!\[\[)(.*)(?=#)/,hg=/!\[\[.*?\]\]/,gg=/(?<=\[\[).*?(?=\]\])/,Cn=e=>e.match(pl),In=e=>e.match(ml),Ln=e=>hg.test(e),hl=e=>Cn(e)||In(e)||Ln(e),gl=(e,r,t)=>{let n;if(Cn(e)||In(e))n=e.match(mg);else if(Ln(e)&&(n=e.match(gg),n[0]===""))return null;return n?r.metadataCache.getFirstLinkpathDest(n[0],t):null},_l=e=>e.match(fg)[0],vl=e=>e.match(pg)[0],_g=e=>{let r=e,t=e.match(new RegExp(`(${pl.source})|(${ml.source})`,"g"));return t==null||t.forEach(n=>r=r.replace(n,n.substring(1))),r},vg=e=>{let r=/(?<=\s)#[^\s#]+|^#[^\s#]+/gm,t=e.match(r);if(!t)return e;let n=e;for(let i of t){let u=new RegExp("(?)"+yg(i),"gm");n=n.replace(u,`${i}`)}return n},yg=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),wg=e=>{let r=vg(e);return r=_g(r),r=og(r),r=kg(r),Sl()&&(r=Ig(r)),r},Be=e=>{let r=wg(e);return new cl.default.Converter({tables:!0,simpleLineBreaks:!0,strikethrough:!0,tasklists:!0,smartIndentationFix:!0}).makeHtml(r)},Rn=(e,r,t)=>{let n=document.createElement("div"),i=t.substr(e,r-e);return n.innerHTML=Be(i),n},Pn=(e,r)=>{let t=document.createElement("div"),n=e.position.start.offset,i=e.position.end.offset,u=r.substr(n,i-n),d=u.indexOf(`^${e.id}`);return d!==-1&&(u=u.slice(0,d)+u.slice(d+e.id.length+1)),t.innerHTML=Be(u),t},Me=(e,r)=>{bg(e),Ag(e,r.app),Sg(e,r.app),xg(e),Mg()&&Tg(e),Sl()&&Lg(e)},bg=e=>{e.querySelectorAll("pre > code").forEach(t=>{t.addClass("line-numbers")})},Ag=(e,r)=>{e.querySelectorAll("img").forEach(n=>{if(n.getAttr("src")){let u=r.metadataCache.getFirstLinkpathDest(decodeURI(n.getAttr("src")),"");if(u){let d=ze(r.vault,u);n.setAttr("src",d);let o=n.getAttr("alt");if(o){let f=Re(o);f&&(n.width=f.width,f.height&&(n.height=f.height))}}}})},Sg=(e,r)=>{e.querySelectorAll("a").forEach(n=>{let i=n.getAttr("href");n.innerText===""&&(n.innerText=decodeURI(i)),i.match(new RegExp(".*#.*"))&&(i=i.match(new RegExp(".*(?=#)"))[0]),r.metadataCache.getFirstLinkpathDest(decodeURI(i),"")&&(n.setAttr("href",decodeURI(i)),n.addClass("oz-obsidian-inner-link")),n.innerText.startsWith("#")&&n.addClass("tag")})},kg=e=>{try{return(0,fl.default)(e).body}catch(r){return e}},xg=e=>{let r=e.querySelectorAll('code[class*="language-ad-"]');r==null||r.forEach(t=>{let n=t.className,i=/(?<=language-ad-).*?(?=\s)/,u=n.match(i),d=u?u[0]:"Note",o=Eg(d,t.innerHTML);t.parentElement.replaceWith(o)})},Eg=(e,r)=>{let t=yl[e]?yl[e]:"68, 138, 255",n=document.createElement("div");n.addClass("oz-admonition"),n.style.cssText=`--oz-admonition-color: ${t};`;let i=n.createEl("div");i.addClass("oz-admonition-title");let u=i.createEl("div");u.addClass("oz-admonition-title-content");let d=u.createEl("div");d.addClass("oz-admonition-title-markdown"),d.innerText=e;let o=n.createEl("div");o.addClass("oz-admonition-content-holder");let f=o.createEl("div");return f.addClass("oz-admonition-content"),f.innerHTML=Be(r),n},yl={abstract:"0, 176, 255",attention:"255, 145, 0",bug:"245, 0, 87",caution:"255, 145, 0",check:"0, 200, 83",cite:"158, 158, 158",danger:"255, 23, 68",done:"0, 200, 83",error:"255, 23, 68",example:"124, 77, 255",fail:"255, 82, 82",failure:"255, 82, 82",faq:"100, 221, 23",help:"100, 221, 23",hint:"0, 191, 165",important:"0, 191, 165",info:"0, 184, 212",missing:"255, 82, 82",note:"68, 138, 255",question:"100, 221, 23",quote:"158, 158, 158",seealso:"68, 138, 255",success:"0, 200, 83",summary:"0, 176, 255",tip:"0, 191, 165",todo:"0, 184, 212"},Tg=e=>{let r=e.querySelectorAll('code[class*="language-mermaid"]');r.length!==0&&(window.mermaid.initialize(Cg),r==null||r.forEach(t=>{let n=document.createElement("div"),i=Math.floor(Math.random()*999999);n.id=`mermaid-${i}`,n.innerHTML=t.innerHTML;try{window.mermaid.mermaidAPI.render(`mermaid-${i}`,bl(t.innerHTML),u=>{n.innerHTML=u}),t.parentElement.replaceWith(n)}catch(u){let d=document.createElement("p");d.addClass("mermaid-error-information"),d.innerText="Syntax Error in Mermaid graph",t.parentElement.prepend(d)}}))},wl={nbsp:" ",cent:"\xA2",pound:"\xA3",yen:"\xA5",euro:"\u20AC",copy:"\xA9",reg:"\xAE",lt:"<",gt:">",quot:'"',amp:"&",apos:"'"},bl=e=>e.replace(/\&([^;]+);/g,function(r,t){var n;return t in wl?wl[t]:(n=t.match(/^#x([\da-fA-F]+)$/))?String.fromCharCode(parseInt(n[1],16)):(n=t.match(/^#(\d+)$/))?String.fromCharCode(~~n[1]):r}),Mg=()=>window.mermaid,Cg={startOnLoad:!0,flowchart:{useMaxWidth:!1,htmlLabels:!0,curve:"cardinal"},securityLevel:"loose",theme:"forest",logLevel:5},Ig=e=>{let r=e,t=/\$\$.*?\$\$/gs,n=/(?<=\$\$).*?(?=\$\$)/s,i=e.match(t);if(i&&i.length>0)for(let f of i){let g=f.match(n);!g||(r=r.replace(f,Al(g[0],"newline")))}let u=/\$[^\s].*[^\s]\$/g,d=/(?<=\$).*?(?=\$)/,o=e.match(u);if(o&&o.length>0)for(let f of o){let g=f.match(d);g&&(r=r.replace(f,Al(g[0],"inline")))}return r},Al=(e,r)=>vn` +
+            
+                ${e}
+            
+        
+ `,Lg=e=>{let r=e.querySelectorAll("code.language-mathjax");for(let t=0;t{n.parentElement.replaceWith(u)})}},Rg=(e,r)=>X(void 0,null,function*(){let t;r==="inline"?(t=document.createElement("span"),t.classList.add("inline-mathjax-block")):r==="newline"&&(t=document.createElement("div"),t.classList.add("newline-mathjax-block"));let n=bl(e),i=yield window.MathJax.tex2chtmlPromise(n,{display:r!=="inline"}),u=window.MathJax.startup.adaptor;t.innerHTML=u.outerHTML(i);let d=document.createElement("style");return d.innerHTML=u.textContent(window.MathJax.chtmlStylesheet()),t.appendChild(d),t}),Sl=()=>{var e;return(e=window.MathJax)==null?void 0:e.version};var rf=j(require("obsidian")),tf=j(ef()),BA=/(?{let r=[],t=e.match(new RegExp(BA.source,"g"));if(t)for(let n of t){let i=n.match(qA);i&&tf.default.isURL(i[0])&&r.push({link:i[0]})}return r},af=e=>X(void 0,null,function*(){let r=yield zA(e);if(r==="error")return null;let t=document.createElement("div");return t.innerHTML=` + + `,t}),zA=e=>X(void 0,null,function*(){var n;let r=yield(0,rf.request)({url:`http://iframely.server.crestify.com/iframely?url=${e}`,method:"GET"}),t=JSON.parse(r);return"error"in t?"error":{title:t.meta.title,description:t.meta.description||"",canonical:t.meta.canonical,iconLink:((n=t.links[0])==null?void 0:n.href)||""}});var na=j(uf());(function(){if(typeof Prism!="undefined"&&typeof document!="undefined"){var e="line-numbers",r=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(u,d){if(u.tagName==="PRE"&&u.classList.contains(e)){var o=u.querySelector(".line-numbers-rows");if(o){var f=parseInt(u.getAttribute("data-start"),10)||1,g=f+(o.children.length-1);d");(f=document.createElement("span")).setAttribute("aria-hidden","true"),f.className="line-numbers-rows",f.innerHTML=S,o.hasAttribute("data-start")&&(o.style.counterReset="linenumber "+(parseInt(o.getAttribute("data-start"),10)-1)),u.element.appendChild(f),i([o]),Prism.hooks.run("line-numbers",u)}}}),Prism.hooks.add("line-numbers",function(u){u.plugins=u.plugins||{},u.plugins.lineNumbers=!0})}function i(u){if((u=u.filter(function(o){var f=function(g){return g?window.getComputedStyle?getComputedStyle(g):g.currentStyle||null:null}(o)["white-space"];return f==="pre-wrap"||f==="pre-line"})).length!=0){var d=u.map(function(o){var f=o.querySelector("code"),g=o.querySelector(".line-numbers-rows");if(f&&g){var M=o.querySelector(".line-numbers-sizer"),S=f.textContent.split(r);M||((M=document.createElement("span")).className="line-numbers-sizer",f.appendChild(M)),M.innerHTML="0",M.style.display="block";var E=M.getBoundingClientRect().height;return M.innerHTML="",{element:o,lines:S,lineHeights:[],oneLinerHeight:E,sizer:M}}}).filter(Boolean);d.forEach(function(o){var f=o.sizer,g=o.lines,M=o.lineHeights,S=o.oneLinerHeight;M[g.length-1]=void 0,g.forEach(function(E,y){if(E&&1]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;(function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var r=e.languages.extend("typescript",{});delete r["class-name"],e.languages.typescript["class-name"].inside=r,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:r}}}}),e.languages.ts=e.languages.typescript})(Prism);(function(e){var r=e.util.clone(e.languages.javascript),t="(?:\\{*\\.{3}(?:[^{}]|)*\\})";function n(d,o){return d=d.replace(//g,function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"}).replace(//g,function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"}).replace(//g,function(){return t}),RegExp(d,o)}t=n(t).source,e.languages.jsx=e.languages.extend("markup",r),e.languages.jsx.tag.pattern=n(`+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[^]|[^\\\\"])*"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'"/>=]+|))?|))**/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=r.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:n(""),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:n("="),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(d){return d?typeof d=="string"?d:typeof d.content=="string"?d.content:d.content.map(i).join(""):""},u=function(d){for(var o=[],f=0;f"||o.push({tagName:i(g.content[0].content[1]),openedBraces:0}):0>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+r),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+r),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:t}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+r),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},t.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],u=n.variable[1].inside,d=0;d&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},Prism.languages.vb=Prism.languages["visual-basic"],Prism.languages.vba=Prism.languages["visual-basic"];Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json;var of=j(sf());var df=j(require("obsidian")),ta=(e,r)=>{var n;let t=r.getLeavesOfType("markdown");for(let i=0;iX(void 0,null,function*(){var D,L;let u=e.lineInfo(r);if(u===null)return;let d=us(u.text),o=ds(u.text);var f=hn(u,"oz-image-widget");f&&!(o.result||d.result)&&((D=f[0])==null||D.clear());var g="";if(t!=null)g=t.path;else{let x=Ju(n.app.workspace);g=x?x.path:""}if(n.settings.renderImages&&(d.result||o.result)){var M="",S="";let x=ls(d.result?d.linkType:o.linkType,d.result?d.result:o.result);M=x.fileName,S=x.altText;let C=document.createElement("img");if(d.result)M.startsWith("file:///")&&(M=M.replace("file:///","app://local/")),C.src=decodeURI(M);else{var E=n.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(M),g);if(!E||i&&E&&i!==E.path)return;C.src=ze(n.app.vault,E),C.setAttr("data-path",E.path)}Ze(u);var y=Re(S);y&&(C.width=y.width,y.height&&(C.height=y.height)),C.alt=S,e.addLineWidget(r,C,{className:"oz-image-widget",showIfHidden:!1});return}if(n.settings&&n.settings.renderExcalidraw&&rs(u.text)){let x=ts(u.text,g,n);if(x&&We(n.app)&&Ge(x)){if(n.imagePromiseList.contains(x.path))return;n.addToImagePromiseList(x.path);let C=yield mn(x);if(u.handle.widgets){var k=u.handle.widgets[0].node,v=k.currentSrc,w=yield cs(v);if(w.size===C.size&&k.alt===S){n.removeFromImagePromiseList(x.path);return}}let p=document.createElement("img");p.src=URL.createObjectURL(C);let T=ns(u.text);var y=Re(T);y&&(p.width=y.width,y.height&&(p.height=y.height)),p.alt=T,p.setAttr("data-path",C.path),e.addLineWidget(r,p,{className:"oz-image-widget",showIfHidden:!1}),n.removeFromImagePromiseList(x.path);return}}if(n.settings&&n.settings.renderIframe){let x=ps(u.text);if(x.result){Ze(u);var I=ms(x.result);e.addLineWidget(r,I,{className:"oz-image-widget",showIfHidden:!1});return}}if(n.settings&&n.settings.renderPDF){let x=Ku(u.text);if(x.result){Ze(u),t!=null&&(g=t.path);var R=Vu(x.linkType,x.result),a="";if(is(R))a=R;else{var l=n.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(R),g),s=yield n.app.vault.adapter.readBinary((0,lf.normalizePath)(l.path)),c=new Uint8Array(s),h=new Blob([c],{type:"application/pdf"});a=URL.createObjectURL(h);var _=ju(x.result);_&&(a=a+_)}var m=document.createElement("embed");m.src=a,m.type="application/pdf",m.width="100%",m.height="800px",e.addLineWidget(r,m,{className:"oz-image-widget",showIfHidden:!1});return}}if(n.settings&&n.settings.renderTransclusion){let x=hl(u.text);var b=hn(u,"oz-transclusion-widget");if(b&&!x&&ye(["oz-transclusion-widget"],u),x){let C=gl(u.text,n.app,g);if(C||b&&ye(["oz-transclusion-widget"],u),C&&C.path.endsWith(".md")){if(i!==void 0)return;let p=n.app.metadataCache.getCache(C.path),T=yield n.app.vault.cachedRead(C);if(Ze(u),Cn(u.text)){let P=_l(u.text);new of.PollUntil().stopAfter(5*1e3).tryEvery(1e3).execute(()=>new Promise((B,N)=>{if(p=n.app.metadataCache.getCache(C.path),p.blocks&&p.blocks[P]){let z=p.blocks[P];if(z){let G=Pn(z,T);Me(G,n),b&&ye(["oz-transclusion-widget"],u),e.addLineWidget(r,G,{className:"oz-transclusion-widget oz-block-id-transclusion",showIfHidden:!1}),na.default.highlightAll()}return B(!0)}N(!1)})).then(B=>{}).catch(B=>{})}else if(In(u.text)){let P=vl(u.text),$=(L=p.headings)==null?void 0:L.find(B=>Ue(B.heading)===Ue(P));if($){let B=$.position.start.offset,N=p.headings.indexOf($),z=T.length;for(let ee of p.headings.slice(N+1))if(ee.level<=$.level){z=ee.position.start.offset;break}let G=Rn(B,z,T);Me(G,n),b&&ye(["oz-transclusion-widget"],u),e.addLineWidget(r,G,{className:"oz-transclusion-widget oz-heading-transclusion",showIfHidden:!1}),na.default.highlightAll()}}else if(Ln(u.text)&&T!==""){let P=document.createElement("div");P.innerHTML=Be(T),Me(P,n),b&&ye(["oz-transclusion-widget"],u),e.addLineWidget(r,P,{className:"oz-transclusion-widget oz-file-transclusion",showIfHidden:!1}),na.default.highlightAll()}return}}}if(n.settings.renderRichLink){let x=nf(u.text);if(hn(u,"oz-richlink-widget")&&x.length===0&&ye(["oz-richlink-widget"],u),x.length>0){ye(["oz-richlink-widget"],u);let p=yield af(x[0].link);if(p){e.addLineWidget(r,p,{className:"oz-richlink-widget"});return}}}}),aa=(e,r,t,n,i)=>{var u=ta(e,n.app.workspace);for(let d=r;d<=t;d++)Hu(e,d,u,n,i)};var de=j(require("obsidian")),cf={renderAll:!0,cm6RenderAll:!0,renderImages:!0,renderPDF:!0,renderIframe:!1,renderExcalidraw:!1,renderRichLink:!1,renderTransclusion:!1,previewOnHoverInternalLink:!1,refreshImagesAfterChange:!1,WYSIWYG:!1},Nu=class extends de.PluginSettingTab{constructor(r,t){super(r,t);this.plugin=t}display(){let{containerEl:r}=this;r.empty(),r.createEl("h1",{text:"Image in Editor Settings"}).addClass("image-in-editor-settings-main-header");let n=r.createDiv("coffee");n.addClass("oz-coffee-div");let u=n.createEl("a",{href:"https://ko-fi.com/L3L356V6Q"}).createEl("img",{attr:{src:"https://cdn.ko-fi.com/cdn/kofi2.png?v=3"}});u.height=45,r.createEl("h2",{text:"New Editor Settings"}).addClass("image-in-editor-editor-header"),r.createEl("h2",{text:"(CodeMirror 6)"}).addClass("image-in-editor-cm-header");let f=r.createEl("div");f.innerHTML=` +

+ The plugin will add image preview within the "Source Mode" of New Editor. + In case you have Live Preview enabled, the plugin will automatically detect this and won't render additionally to avoid duplication. +

+ `,new de.Setting(r).setName("Render in New Editor").setDesc("Turn off this option if you want to stop rendering images in the new editor view. Disabling requires vault reload.").addToggle(k=>{k.setValue(this.plugin.settings.cm6RenderAll).onChange(v=>{this.plugin.settings.cm6RenderAll=v,this.plugin.saveSettings()})}),r.createEl("h2",{text:"Shared Settings"}).addClass("image-in-editor-editor-header"),r.createEl("h2",{text:"(CodeMirror 5 and 6)"}).addClass("image-in-editor-cm-header");let S=r.createEl("div");S.innerHTML=` +

The settings below are used both by New Editor and Legacy Editor. Changes will be reflected in both of them.

+ `,new de.Setting(r).setName("Render Images in Editor").setDesc("Turn on this option if you want Image files (jpeg, jpg, png, gif, svg, bmp) to be rendered in Editor").addToggle(k=>k.setValue(this.plugin.settings.renderImages).onChange(v=>{this.plugin.settings.renderImages=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Render Transclusion in Editor").setDesc("Turn on this option if you want transclusions to be rendered in Editor. Once this is enabled, you will have custom options for transclusions below.").addToggle(k=>k.setValue(this.plugin.settings.renderTransclusion).onChange(v=>{this.plugin.settings.renderTransclusion=v,this.plugin.handleTransclusionSetting(v),this.plugin.saveSettings()})),new de.Setting(r).setName("Render PDFs in Editor").setDesc("Turn on this option if you want also PDF files to be rendered in Editor").addToggle(k=>k.setValue(this.plugin.settings.renderPDF).onChange(v=>{this.plugin.settings.renderPDF=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Render Iframes in Editor").setDesc("Turn on this option if you want iframes to be rendered in Editor").addToggle(k=>k.setValue(this.plugin.settings.renderIframe).onChange(v=>{this.plugin.settings.renderIframe=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Render Excalidraw in Editor").setDesc("Turn on this option if you want drawings to be rendered in Editor").addToggle(k=>k.setValue(this.plugin.settings.renderExcalidraw).onChange(v=>{this.plugin.settings.renderExcalidraw=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Preview on Hover for File Links").setDesc("Turn on if you want to trigger preview when you hover on internal links within the rendered transclusion").addToggle(k=>k.setValue(this.plugin.settings.previewOnHoverInternalLink).onChange(v=>{this.plugin.settings.previewOnHoverInternalLink=v,this.plugin.saveSettings(),v?document.on("mouseover",".oz-obsidian-inner-link",this.plugin.filePreviewOnHover):document.off("mouseover",".oz-obsidian-inner-link",this.plugin.filePreviewOnHover)})),r.createEl("h2",{text:"Legacy Editor Settings"}).addClass("image-in-editor-editor-header"),r.createEl("h2",{text:"(CodeMirror 5)"}).addClass("image-in-editor-cm-header"),r.createEl("p",{text:"The settings provided below are specific only to the Legacy Editor"}),de.Platform.isMobile?this.containerEl.createEl("p",{text:"Legacy Editor is not available in Mobile Application. "}):(new de.Setting(r).setName("Render in Legacy Editor").setDesc("Turn off this option if you want to stop rendering images, PDF and drawings. If you turn off, the other settings won't have an effect").addToggle(k=>k.setValue(this.plugin.settings.renderAll).onChange(v=>{this.plugin.handleToggleRenderAll(v),this.plugin.settings.renderAll=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Rich Link Widget for External Links").setDesc("Turn on this option if you want rich link widget to be visible within a line, where you have an external link").addToggle(k=>k.setValue(this.plugin.settings.renderRichLink).onChange(v=>{this.plugin.settings.renderRichLink=v,this.plugin.saveSettings()})),new de.Setting(r).setName("Refresh Images after Changes").setDesc("Turn on this option if you want images to refreshed once you edit the original file").addToggle(k=>k.setValue(this.plugin.settings.refreshImagesAfterChange).onChange(v=>{this.plugin.handleRefreshImages(v),this.plugin.settings.refreshImagesAfterChange=v,this.plugin.saveSettings()})),new de.Setting(r).setName("WYSIWYG Like Experience").setDesc("Turn on this option if you want WYSIWYG style to be loaded for editor view").addToggle(k=>k.setValue(this.plugin.settings.WYSIWYG).onChange(v=>{this.plugin.settings.WYSIWYG=v,this.plugin.handleWYSIWYG(v),this.plugin.saveSettings()})))}};var ff=` + +/* Not Active Lines */ +div:not(.CodeMirror-activeline) > +.CodeMirror-line span.cm-formatting:not(.cm-formatting-list):not(.cm-image):not(.cm-url):not(.cm-link) /* not(.cm-formatting-code-block) */ { + display: none !important; +} + +/* H1 Underline */ +.cm-s-obsidian pre.HyperMD-header-1:after { + content: ""; + position: absolute; + bottom: 5px; + left: 5px; + width: calc(100% - 10px); + height: 1px; + background: var(--text-accent); +} + +.cm-s-obsidian pre.HyperMD-header-1{ + padding-bottom: 5px; +} + +/* except numbered list */ +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-list { + display: inline !important; +} + +span.cm-formatting-list, +span.cm-formatting-code-block.cm-hmd-codeblock, +span.cm-formatting-header { + display: inline !important; +} + +/* and task checkboxes */ +span.cm-formatting-task { + display: inline !important; + font-family: monospace; +} + +/* Checkboxes instead of brackets in edit mode */ +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-task.cm-meta, +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-task.cm-property { + color: transparent; + position: relative; + display: inline !important; + margin-right: -0.1rem; +} + +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-task.cm-meta:after, +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-task.cm-property:after { + content: "\u25CB"; + position: absolute; + top: 3px; + left: 4px; + color: rgb(219, 95, 12); + font-size: calc(var(--editor-font-size) * 1.2); + text-align: center; +} + +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting-task.cm-property:after { + content: "\u2713"; + color: rgb(124, 131, 124) !important; +} + +span.cm-formatting-task.cm-property ~ span { + text-decoration: line-through; + color: rgb(124, 131, 124) !important; +} + +/* highlight (==) not visible anymore if not active line */ +div:not(.CodeMirror-activeline) > .CodeMirror-line .cm-formatting-highlight.cm-highlight { + font-size: 0; +} + +/* Blockquote */ +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-formatting.cm-formatting-quote, +div:not(.CodeMirror-activeline)>.CodeMirror-line span.cm-hmd-indent-in-quote { + display: inline !important; + color: transparent !important; +} + +div:not(.CodeMirror-activeline)>.HyperMD-quote { + background-color: var(--background-primary-alt); + border-left: 3px solid var(--text-selection); + border-color: red !important; + font-size: var(--editor-font-size) !important; + line-height: 1.5em; + margin-left: 5px; + padding: 10px 6px 10px 6px; + display: inline-block; + width: 100%; +} + +/* Tags */ +div:not(.CodeMirror-activeline) > .CodeMirror-line span.cm-hashtag-end:before { + content: ''; +} + +.tag, div:not(.CodeMirror-activeline) > .CodeMirror-line span.cm-hashtag-end { + background-color: var(--text-accent); + border: none; + color: white; + font-size: var(--editor-font-size) !important; + padding: 0px 6px !important; + padding-top: -2px; + padding-bottom: 2px; + text-align: center; + text-decoration: none !important; + display: inline-block; + margin: 0.5px 0.5px; + cursor: pointer; + border-radius: 14px; +} + +`;var ia=j(require("@codemirror/state")),ua=j(require("@codemirror/view"));function WA(){let e=ia.StateEffect.define(),r=ia.StateField.define({create(){return ua.Decoration.none},update(t,n){return n.effects.reduce((i,u)=>u.is(e)?u.value:i,t)},provide:t=>ua.EditorView.decorations.from(t)});return{update:e,field:r}}var pn=WA();var Sf=j(require("@codemirror/view"));var sr=j(require("obsidian")),bf=j(require("@codemirror/rangeset")),Af=j(require("@codemirror/view"));var Ae=j(require("@codemirror/view"));var sa=e=>Ae.Decoration.replace({widget:new mf(e),inclusive:!1}),Bu=e=>Ae.Decoration.replace({widget:new hf(e),inclusive:!1}),pf=e=>Ae.Decoration.replace({widget:new gf(e),inclusive:!1}),da=e=>Ae.Decoration.replace({widget:new _f(e),inclusive:!1}),mf=class extends Ae.WidgetType{constructor({url:r,altText:t,filePath:n}){super();this.url=r,this.altText=t,this.filePath=n}eq(r){return r.altText===this.altText&&r.filePath===this.filePath}toDOM(){let r=document.createElement("div");r.addClass("oz-image-widget-cm6");let t=r.createEl("img");t.src=this.url;let n=Re(this.altText);return n&&(t.width=n.width,n.height&&(t.height=n.height)),t.alt=this.altText,r}ignoreEvent(){return!0}},hf=class extends Ae.WidgetType{constructor({url:r,filePath:t}){super();this.url=r,this.filePath=t}toDOM(){let r=document.createElement("div");r.addClass("oz-pdf-widget-cm6");let t=r.createEl("embed");return t.src=this.url,t.type="application/pdf",t.width="100%",t.height="800px",r}eq(r){return r.filePath===this.filePath||r.url===this.url}ignoreEvent(){return!0}},gf=class extends Ae.WidgetType{constructor({htmlText:r}){super();this.htmlText=r}toDOM(){let r=document.createElement("div");return r.addClass("oz-custom-html-widget-cm6"),r.innerHTML=this.htmlText.trim(),r}eq(r){return r.htmlText===this.htmlText}ignoreEvent(){return!0}},_f=class extends Ae.WidgetType{constructor({type:r,htmlDivElement:t,filePath:n,blockRef:i}){super();this.type=r,this.htmlDivElement=t,this.filePath=n,this.blockRef=i}toDOM(){let r=document.createElement("div");return r.addClasses(["oz-transclusion-widget-cm6",this.type]),r.appendChild(this.htmlDivElement),r}eq(r){return r.filePath+r.blockRef===this.filePath+this.blockRef}ignoreEvent(){return!0}};var vf=["file-transclusion","header-transclusion","blockid-transclusion"],yf=e=>{let{lineText:r,plugin:t,sourceFile:n}=e,i=/!\[\[.*?(jpe?g|png|gif|svg|bmp).*?\]\]/,u=r.match(i);if(u){let s=/(?<=\[\[).*(jpe?g|png|gif|svg|bmp)/,c=u[0].match(s);if(c){let h=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(c[0]),n.path);if(h){let _=/(?<=\|).*(?=]])/,m=u[0].match(_);return{type:"vault-image",match:u[0],linkText:c[0],altText:m?m[0]:"",blockRef:"",file:h}}}}let d=/!\[\[.*(pdf)(.*)?\]\]/,o=r.match(d);if(o){let s=/(?<=\[\[).*.pdf/,c=o[0].match(s);if(c){let h=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(c[0]),n.path);if(h){let _=new RegExp("#page=[0-9]+"),m=o[0].match(_);return{type:"pdf-file",match:o[0],linkText:"",altText:"",blockRef:m?m[0]:"",file:h}}}}let f=/!\[(^$|.*)\]\(.*(pdf)(.*)?\)/,g=r.match(f);if(g){let s=/(?<=\().*.pdf/,c=g[0].match(s);if(c){let h=/(http[s]?:\/\/)([^\/\s]+\/)(.*)/,_=new RegExp("#page=[0-9]+"),m=g[0].match(_);if(h.test(c[0]))return{type:"pdf-link",match:g[0],linkText:c[0],altText:"",blockRef:m?m[0]:""};{let b=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(c[0]),n.path);if(b)return{type:"pdf-file",match:g[0],linkText:b.path,altText:"",blockRef:m?m[0]:"",file:b}}}}let M=/(http[s]?:\/\/)([^\/\s]+\/)(.*)/,S=/!\[[^)]*\]\([a-z][a-z0-9+\-.]+:\/[^)]*\)/,E=r.match(S);if(E){let s=/(?<=\().*(?=\))/,c=E[0].match(s);if(c&&c[0].match(M)){let h=/(?<=\[)(^$|.*)(?=\])/,_=E[0].match(h);return{type:"external-image",match:E[0],linkText:c[0],altText:_?_[0]:"",blockRef:""}}}let y=/!\[(^$|.*?)\]\(.*?(jpe?g|png|gif|svg|bmp)\)/,k=r.match(y);if(k){let s=/(?<=\().*(jpe?g|png|gif|svg|bmp)/,c=k[0].match(s);if(c){let h=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(c[0]),n.path);if(h){let _=/(?<=\[)(^$|.*)(?=\])/,m=k[0].match(_);return{type:"vault-image",match:k[0],linkText:c[0],altText:m?m[0]:"",blockRef:"",file:h}}}}let v=/!\[(^$|.*?)\]\(.*?\)/,w=/!\[\[.*?\]\]/,I=r.match(v),R=r.match(w);if(I||R){let s=/(?<=\]\().*?(?=\))/,c=/(?<=\[\[).*?((?=\|))|(?<=\[\[).*?(?=\]\])/,h=r.match(I?s:c);if(h){let _=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(h[0]),n.path);if(_&&We(t.app)&&Ge(_)){let D=I?/(?<=\[)(^$|.*)(?=\])/:/(?<=\|).*(?=]])/,L=r.match(D);return{type:"excalidraw",match:I?I[0]:R[0],linkText:_.path,altText:L?L[0]:"",blockRef:"",file:_}}}if(R){let _=/(?<=!\[\[)(.*)(?=#)/,m=/!\[\[(.*)#\^(.*)\]\]/,b=r.match(m);if(b){let T=b[0].match(_),P=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(T[0]),n.path);if(P&&P.extension==="md"){let $=/(?<=#\^).*(?=]])/;return{type:"blockid-transclusion",match:R[0],linkText:P.path,altText:"",blockRef:r.match($)[0],file:P}}}let D=/!\[\[(.*)#((?!\^).*)\]\]/,L=r.match(D);if(L){let T=L[0].match(_),P=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(T[0]),n.path);if(P&&P.extension==="md"){let $=/(?<=#).*(?=]])/;return{type:"header-transclusion",match:R[0],linkText:P.path,altText:"",blockRef:r.match($)[0],file:P}}}let x=/(?<=\[\[).*?(?=\]\])/,C=r.match(x),p=t.app.metadataCache.getFirstLinkpathDest(decodeURIComponent(C[0]),n.path);if(p&&C[0]!==""&&p.extension==="md")return{type:"file-transclusion",match:R[0],linkText:p.path,altText:"",blockRef:"",file:p}}}let a=/(?:]*)(?:(?:\/>)|(?:>.*?<\/iframe>))/,l=r.match(a);return l?{type:"iframe",match:l[0],linkText:"",altText:"",blockRef:""}:null};var GA=j(require("@codemirror/language")),ZA=j(require("@codemirror/stream-parser")),wf=(e,r)=>{let t=[];return r.length>0&&(t=Array.from({length:r.lines},(n,i)=>i+1)),t};var qu=class{constructor(r){this.decoCache={};this.debouncedUpdate=(0,sr.debounce)(this.updateAsyncDecorations,50,!0);this.editor=r}updateAsyncDecorations(r){return X(this,null,function*(){let{view:t,state:n,newDoc:i,plugin:u}=r,d=wf(n||t.state,i);if(d.length>0){let o=yield this.getDecorationsForLines({lineNrs:d,view:t,newDoc:i,plugin:u});(o||this.editor.state.field(pn.field).size)&&this.editor.dispatch({effects:pn.update.of(o||Af.Decoration.none)})}})}getDecorationsForLines(r){return X(this,null,function*(){var g;let{newDoc:t,view:n,lineNrs:i,plugin:u}=r,d=new bf.RangeSetBuilder,f=n.state.field(sr.editorViewField).file;if(i.length>0)for(let M of i){let S=t.line(M),E=null,y=yf({lineText:S.text,plugin:u,sourceFile:f});if(y&&y.type==="external-image"&&u.settings.renderImages){let k=y.linkText+y.altText;E=this.decoCache[k],E||(E=this.decoCache[k]=sa({url:y.linkText,altText:y.altText,filePath:y.linkText}))}else if(y&&y.type==="vault-image"&&u.settings.renderImages){let k=y.file.path+y.altText;if(E=this.decoCache[k],!E){let v=ze(u.app.vault,y.file);E=this.decoCache[k]=sa({url:v,altText:y.altText,filePath:y.file.path})}}else if(y&&y.type==="excalidraw"&&u.settings.renderExcalidraw){let k=y.file.path+y.altText;if(E=this.decoCache[k],!E){let v=yield mn(y.file);E=this.decoCache[k]=sa({url:URL.createObjectURL(v),altText:y.altText,filePath:y.file.path})}}else if(y&&y.type==="pdf-link"&&u.settings.renderPDF){let k=y.linkText+y.blockRef;E=this.decoCache[k],E||(E=this.decoCache[k]=Bu({url:k,filePath:k}))}else if(y&&y.type==="pdf-file"&&u.settings.renderPDF){let k=y.file.path+y.blockRef;if(E=this.decoCache[k],!E){let v=yield u.app.vault.adapter.readBinary((0,sr.normalizePath)(y.file.path)),w=new Uint8Array(v),I=new Blob([w],{type:"application/pdf"});E=Bu({url:URL.createObjectURL(I)+y.blockRef,filePath:y.file.path})}}else if(y&&vf.contains(y.type)&&u.settings.renderTransclusion){let k=y.file.path+y.blockRef+y.file.stat.mtime;if(E=this.decoCache[k],!E){let v=u.app.metadataCache.getCache(y.file.path),w=yield u.app.vault.cachedRead(y.file);if(y.type==="blockid-transclusion"){let I=y.blockRef;if(v=u.app.metadataCache.getCache(y.file.path),v.blocks&&v.blocks[I]){let R=v.blocks[I];if(R){let a=Pn(R,w);Me(a,u),E=this.decoCache[k]=da({htmlDivElement:a,type:y.type,filePath:y.file.path,blockRef:y.blockRef})}}}else if(y.type==="header-transclusion"){let I=(g=v.headings)==null?void 0:g.find(R=>Ue(R.heading)===Ue(y.blockRef));if(I){let R=I.position.start.offset,a=v.headings.indexOf(I),l=w.length;for(let c of v.headings.slice(a+1))if(c.level<=I.level){l=c.position.start.offset;break}let s=Rn(R,l,w);Me(s,u),E=this.decoCache[k]=da({htmlDivElement:s,type:y.type,filePath:y.file.path,blockRef:y.blockRef})}}else if(y.type==="file-transclusion"&&w!==""){let I=document.createElement("div");I.innerHTML=Be(w),Me(I,u),E=this.decoCache[k]=da({htmlDivElement:I,type:y.type,filePath:y.file.path,blockRef:y.blockRef})}}}else y&&y.type==="iframe"&&u.settings.renderIframe&&(E=pf({htmlText:y.match}));E!==null&&d.add(S.to,S.to,E)}return d.finish()})}};var kf=e=>{let{plugin:r}=e;return Sf.ViewPlugin.fromClass(class{constructor(n){if(this.decoManager=new qu(n),!ca(r.app)){let i=n.state;this.decoManager.updateAsyncDecorations({view:n,state:i,newDoc:i.doc,plugin:r})}}update(n){if((n.docChanged||n.viewportChanged)&&!ca(r.app)){let i=n.view.state;this.decoManager.updateAsyncDecorations({view:n.view,plugin:r,newDoc:i.doc})}}destroy(){}})};var xf=e=>{let{plugin:r}=e;return[kf({plugin:r}),pn.field]};var zu=class extends ve.Plugin{constructor(){super(...arguments);this.imagePromiseList=[];this.onImageMenu=(r,t)=>{let n=this.app.vault.getAbstractFileByPath(t.dataset.path);if(n instanceof ve.TFile)return r.preventDefault(),r.stopPropagation(),fs(r,this,n),!1};this.onClickTransclusionLink=(r,t)=>{r.preventDefault(),r.stopPropagation(),Qu(r,t.getAttr("href"),this.app)};this.filePreviewOnHover=(r,t)=>{this.app.workspace.trigger("link-hover",{},r.target,t.getAttr("href"),t.getAttr("href"))};this.codemirrorLineChanges=(r,t)=>{aa(r,t.from.line,t.from.line+t.text.length-1,this)};this.handleInitialLoad=r=>{var t=r.lastLine(),n=ta(r,this.app.workspace);for(let i=0;i{r?(this.registerCodeMirror(t=>{t.on("change",this.codemirrorLineChanges),this.handleInitialLoad(t)}),this.settings.refreshImagesAfterChange&&this.app.vault.on("modify",this.handleFileModify)):(this.app.workspace.iterateCodeMirrors(t=>{t.off("change",this.codemirrorLineChanges),pa(t)}),this.app.vault.off("modify",this.handleFileModify))};this.handleTransclusionSetting=r=>{this.app.workspace.iterateCodeMirrors(t=>{if(r)aa(t,0,t.lastLine(),this);else for(let n=0;n<=t.lastLine();n++){let i=t.lineInfo(n);as(i)}})};this.handleRefreshImages=r=>{r?this.app.vault.on("modify",this.handleFileModify):this.app.vault.off("modify",this.handleFileModify)};this.handleFileModify=r=>{r instanceof ve.TFile&&(os(r.path)||We(this.app)&&Ge(r))&&this.app.workspace.iterateCodeMirrors(t=>{var n=t.lastLine();aa(t,0,n,this,r.path)})};this.handleWYSIWYG=r=>{r?this.load_WYSIWYG_Styles():this.unload_WYSIWYG_Styles()};this.load_WYSIWYG_Styles=()=>{this.loadedStyles=Array(0);var r=document.createElement("style");r.innerHTML=ff,document.head.appendChild(r),this.loadedStyles.push(r)};this.unload_WYSIWYG_Styles=()=>{if(!(!this.loadedStyles||typeof this.loadedStyles[Symbol.iterator]!="function")){for(let r of this.loadedStyles)document.head.removeChild(r);this.loadedStyles=Array(0)}};this.addToImagePromiseList=r=>{this.imagePromiseList.contains(r)||this.imagePromiseList.push(r)};this.removeFromImagePromiseList=r=>{this.imagePromiseList.contains(r)&&(this.imagePromiseList=this.imagePromiseList.filter(t=>t!==r))}}onload(){return X(this,null,function*(){console.log("Image in Editor Plugin is loaded"),this.addSettingTab(new Nu(this.app,this)),yield this.loadSettings();try{(0,ve.loadMathJax)(),(0,ve.loadMermaid)()}catch(r){console.log(r)}if(this.settings.cm6RenderAll){let r=xf({plugin:this});this.registerEditorExtension(r)}if(!ve.Platform.isMobile){if(this.addCommand({id:"toggle-render-all",name:"Legacy Editor: Toggle Render All",callback:()=>{this.handleToggleRenderAll(!this.settings.renderAll),this.settings.renderAll=!this.settings.renderAll,this.saveSettings()}}),this.addCommand({id:"toggle-WYSIWYG",name:"Legacy Editor: Toggle WYSIWYG",callback:()=>{this.handleWYSIWYG(!this.settings.WYSIWYG),this.settings.WYSIWYG=!this.settings.WYSIWYG,this.saveSettings()}}),this.addCommand({id:"toggle-render-pdf",name:"Legacy Editor: Toggle Render PDF",callback:()=>{this.settings.renderPDF=!this.settings.renderPDF,this.app.workspace.iterateCodeMirrors(r=>{this.handleInitialLoad(r)}),this.saveSettings()}}),this.addCommand({id:"toggle-render-iframe",name:"Legacy Editor: Toggle Render Iframe",callback:()=>{this.settings.renderIframe=!this.settings.renderIframe,this.app.workspace.iterateCodeMirrors(r=>{this.handleInitialLoad(r)}),this.saveSettings()}}),this.addCommand({id:"toggle-refresh-images-after-changes",name:"Legacy Editor: Toggle Refresh Images After Changes",callback:()=>{this.handleRefreshImages(!this.settings.refreshImagesAfterChange),this.settings.refreshImagesAfterChange=!this.settings.refreshImagesAfterChange,this.saveSettings()}}),document.on("contextmenu","div.CodeMirror-linewidget.oz-image-widget > img[data-path]",this.onImageMenu,!1),document.on("click",".oz-obsidian-inner-link",this.onClickTransclusionLink),this.settings.previewOnHoverInternalLink&&document.on("mouseover",".oz-obsidian-inner-link",this.filePreviewOnHover),this.settings.WYSIWYG&&this.load_WYSIWYG_Styles(),!this.settings.renderAll||(this.registerCodeMirror(r=>{r.on("change",this.codemirrorLineChanges),this.handleInitialLoad(r)}),!this.settings.refreshImagesAfterChange))return;this.app.vault.on("modify",this.handleFileModify)}})}onunload(){ve.Platform.isMobile||(this.app.workspace.iterateCodeMirrors(r=>{r.off("change",this.codemirrorLineChanges),pa(r)}),this.app.vault.off("modify",this.handleFileModify),document.off("contextmenu","div.CodeMirror-linewidget.oz-image-widget > img[data-path]",this.onImageMenu,!1),document.off("click",".oz-obsidian-inner-link",this.onClickTransclusionLink),document.off("mouseover",".oz-obsidian-inner-link",this.filePreviewOnHover),this.unload_WYSIWYG_Styles()),console.log("Image in Editor Plugin is unloaded")}loadSettings(){return X(this,null,function*(){this.settings=Object.assign({},cf,yield this.loadData())})}saveSettings(){return X(this,null,function*(){yield this.saveData(this.settings)})}}; +/*! showdown v 1.9.1 - 02-11-2019 */ +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public + */ diff --git a/.obsidian/plugins/oz-image-plugin/manifest.json b/.obsidian/plugins/oz-image-plugin/manifest.json new file mode 100644 index 0000000..7708cd4 --- /dev/null +++ b/.obsidian/plugins/oz-image-plugin/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "oz-image-plugin", + "name": "Ozan's Image in Editor Plugin", + "version": "2.1.1", + "minAppVersion": "0.13.14", + "description": "View Images, Transclusions, iFrames and PDF Files within the Editor without a necessity to switch to Preview.", + "author": "Ozan Tellioglu", + "authorUrl": "https://ozan.pl/aboutme/", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/oz-image-plugin/styles.css b/.obsidian/plugins/oz-image-plugin/styles.css new file mode 100644 index 0000000..f793329 --- /dev/null +++ b/.obsidian/plugins/oz-image-plugin/styles.css @@ -0,0 +1,270 @@ +.CodeMirror-linewidget img { + margin-top: 5px; + margin-bottom: 5px; +} + +.theme-dark img[alt$='#invert'], +.theme-dark div.oz-image-widget > img[alt$='#invert'], +.theme-dark div.oz-image-widget-cm6 > img[alt$='#invert'] { + filter: invert(1) hue-rotate(180deg); +} + +.oz-transclusion-widget, +.oz-transclusion-widget-cm6 { + padding: 3px 3px 3px 19px; + border: 0.7px solid var(--text-muted); + max-height: 600px; + overflow: auto; + border-radius: 7px; + margin-top: 5px; +} + +.oz-coffee-div { + text-align: center; + margin-top: 20px; +} + +/* Line Numbers In Editor CodeBlock Renders */ +pre[class*='language-'].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} +pre[class*='language-'].line-numbers > code { + position: relative; + white-space: inherit; +} +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.line-numbers-rows > span { + display: block; + counter-increment: linenumber; +} +.line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; +} + +.mermaid-error-information { + color: red; + font-size: 14px; + margin-bottom: 3px; +} + +.oz-modal-center { + text-align: center; + margin: 20px 10px 20px 10px; +} + +.oz-modal-title { + text-align: center; +} + +.inline-mathjax-block { + margin-left: 5px; +} + +.oz-image-widget > img, +.oz-image-widget-cm6 > img { + -webkit-user-drag: none; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +div.oz-transclusion-widget pre, +div.oz-transclusion-widget-cm6 pre { + overflow-x: auto; +} + +.oz-transclusion-widget > *, +.oz-transclusion-widget-cm6 > * { + user-select: text !important; +} + +/* Rich Link Cards */ +/* Credit: https://github.com/dhamaniasad/obsidian-rich-links */ +.oz-rich-link-card { + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + width: 100%; + display: flex; + text-decoration: none; + background-color: var(--background-primary); +} + +.oz-rich-link-card-container { + position: relative; +} + +.oz-rich-link-image-container { + height: 100px; + width: 35%; + min-width: 120px; + overflow: hidden; + border-right: 1px solid var(--background-modifier-border); +} + +.oz-rich-link-image { + background-position: center center; + background-size: cover; + background-repeat: no-repeat; + padding-bottom: 100px; + background-color: var(--background-secondary); +} + +.oz-rich-link-card-text { + padding: 4px; + width: 75%; +} + +.oz-rich-link-card-title { + font-family: sans-serif; + font-size: 16px; + margin: 0 0 4px 0; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + color: var(--text-normal); +} + +.oz-rich-link-card-description { + font-family: sans-serif; + font-size: 14px; + margin: 0; + color: var(--text-muted); + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.oz-rich-link-href { + font-family: sans-serif; + font-size: 14px; + margin: 0; + color: var(--text-faint); + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.image-in-editor-settings-main-header { + text-align: center !important; + margin-bottom: 20px; +} + +.image-in-editor-cm-header { + margin-top: 0px; +} + +.image-in-editor-editor-header { + margin-bottom: 5px; +} + +/* Sizing for CM5 and CM6 */ + +div.oz-image-widget > img[alt$='#small'], +div.oz-image-widget-cm6 > img[alt$='#small'] { + max-width: 75% !important; + min-width: 200pt !important; +} + +div.oz-image-widget > img[alt$='#x-small'], +div.oz-image-widget-cm6 > img[alt$='#x-small'] { + max-width: 50% !important; + min-width: 100pt !important; +} + +div.oz-image-widget > img[alt$='#xx-small'], +div.oz-image-widget-cm6 > img[alt$='#xx-small'] { + max-width: 25% !important; + min-width: 50pt !important; +} + +/* Style For CM6 */ + +div.oz-image-widget-cm6, +div.oz-custom-html-widget-cm6, +div.oz-pdf-widget-cm6 { + padding-top: 5px; + padding-bottom: 5px; +} + +div.oz-image-widget-cm6 + br, +div.oz-custom-html-widget-cm6 + br, +div.oz-pdf-widget-cm6 + br { + display: none; +} + +.cm-line div.oz-transclusion-widget-cm6 { + padding-top: 10px; + padding-bottom: 10px; +} + +.cm-line div.oz-transclusion-widget-cm6 * { + margin-block-start: 0px !important; + margin-block-end: 0px !important; +} + +/* Legacy Admonition */ + +.oz-admonition { + margin: 1.5em 0; + padding: 0; + overflow: hidden; + page-break-inside: avoid; + border-left: 0.3rem solid rgb(var(--oz-admonition-color)); + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem rgb(44, 43, 43); +} + +.oz-admonition-title { + position: relative; + padding: 15px 5px 15px 15px; + font-weight: 700; + background-color: rgba(var(--oz-admonition-color), 0.1); +} + +.oz-admonition-title-content { + display: flex; + justify-content: flex-start; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.oz-admonition-content-holder { + position: relative; + padding-top: 15px; + padding-bottom: 15px; +} + +.oz-admonition-content { + margin: 10px 15px; + position: relative; + overflow-x: auto; +} + +.oz-admonition-title-markdown { + text-transform: capitalize; + display: block; +} diff --git a/.obsidian/workspace b/.obsidian/workspace index b7e25ea..eac635b 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Obsidian.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Obsidian.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -80,6 +80,22 @@ } } }, + { + "id": "f94af359d1970a2d", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "02. PARA/03. Resources(資源)/Obsidian.md" + } + } + } + ] + }, + { + "id": "a0240ced26011060", + "type": "tabs", + "children": [ { "id": "18b9707a37e1188a", "type": "leaf", @@ -90,28 +106,24 @@ "useHierarchy": true } } - }, - { - "id": "f94af359d1970a2d", - "type": "leaf", - "state": { - "type": "outline", - "state": { - "file": "00. TOP/01. TODO.md" - } - } } ] } ], "direction": "horizontal", - "width": 300, - "collapsed": true + "width": 300 }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ - "00. TOP/01. TODO.md", - "00. TOP/00. Inbox.md", - "01. Daily/2022-06-06(週一).md" + "02. PARA/03. Resources(資源)/Obsidian.md", + "attachments/Pasted image 20201206094618.png", + "attachments/para_example.png", + "attachments/Dicker Max_001.jpg", + "attachments/92709501_101757388184474_261941160505769984_o.jpg", + "attachments/2018-10-0912.49.30.png", + "attachments/2018-10-13_02.jpg", + "attachments/2018-10-13_01.jpg", + "attachments/2018-10-06_02.jpg", + "attachments/2018-10-06_01.jpg" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/git/submodule.md b/02. PARA/03. Resources(資源)/git/submodule.md index b519b86..1a9e65f 100644 --- a/02. PARA/03. Resources(資源)/git/submodule.md +++ b/02. PARA/03. Resources(資源)/git/submodule.md @@ -3,7 +3,7 @@ git submodule add [] ``` 新增之後,用 git status 會發現多了兩個東西需要 commit: -![[Pasted image 20220608152709.png]] +![[20220608152709_git_submodule.png|450]] 第一個檔案 .gitmodules,裡面紀錄 submodule 的對應關係,內容大概像這樣: ``` diff --git a/attachments/Pasted image 20220608152709.png b/attachments/20220608152709_git_submodule.png similarity index 100% rename from attachments/Pasted image 20220608152709.png rename to attachments/20220608152709_git_submodule.png From af60bcd08b1a006be2594e6ae1622b7f99a3224f Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 16:31:05 +0800 Subject: [PATCH 04/63] vault backup: 2022-06-12 16:31:05 Affected files: .obsidian/templates.json .obsidian/workspace --- .obsidian/templates.json | 2 +- .obsidian/workspace | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.obsidian/templates.json b/.obsidian/templates.json index 6064e66..959c1ae 100644 --- a/.obsidian/templates.json +++ b/.obsidian/templates.json @@ -1,5 +1,5 @@ { - "folder": "PARA/003 - Resources(資源)/99. templates", + "folder": "02. PARA/03. Resources(資源)/99. templates", "dateFormat": "YYYY-MM-DD", "timeFormat": "HH:mm:ss" } \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index eac635b..db3cf30 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/Obsidian.md", + "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/Obsidian.md", + "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/Obsidian.md" + "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md" } } } @@ -115,15 +115,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/99. templates/front matter.md", + "00. TOP/01. TODO.md", + "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/Obsidian.md", "attachments/Pasted image 20201206094618.png", "attachments/para_example.png", "attachments/Dicker Max_001.jpg", "attachments/92709501_101757388184474_261941160505769984_o.jpg", "attachments/2018-10-0912.49.30.png", - "attachments/2018-10-13_02.jpg", - "attachments/2018-10-13_01.jpg", - "attachments/2018-10-06_02.jpg", - "attachments/2018-10-06_01.jpg" + "attachments/2018-10-13_02.jpg" ] } \ No newline at end of file From ea1acc0af095e0e2676b7a71882239d8d3b1f486 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 16:41:19 +0800 Subject: [PATCH 05/63] vault backup: 2022-06-12 16:41:19 Affected files: .obsidian/note-composer.json .obsidian/workspace --- .obsidian/note-composer.json | 4 ++++ .obsidian/workspace | 19 ++++++------------- 2 files changed, 10 insertions(+), 13 deletions(-) create mode 100644 .obsidian/note-composer.json diff --git a/.obsidian/note-composer.json b/.obsidian/note-composer.json new file mode 100644 index 0000000..9c4c4fe --- /dev/null +++ b/.obsidian/note-composer.json @@ -0,0 +1,4 @@ +{ + "askBeforeMerging": true, + "template": "" +} \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index db3cf30..670c601 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -7,12 +7,8 @@ "id": "cfe19fa2de06a1e6", "type": "leaf", "state": { - "type": "markdown", - "state": { - "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md", - "mode": "source", - "source": true - } + "type": "empty", + "state": {} } } ], @@ -69,7 +65,6 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -85,9 +80,7 @@ "type": "leaf", "state": { "type": "outline", - "state": { - "file": "02. PARA/03. Resources(資源)/99. templates/front matter.md" - } + "state": {} } } ] @@ -115,15 +108,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/01. Project(專案)/未命名.md", + "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/99. templates/front matter.md", "00. TOP/01. TODO.md", - "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/Obsidian.md", "attachments/Pasted image 20201206094618.png", "attachments/para_example.png", "attachments/Dicker Max_001.jpg", "attachments/92709501_101757388184474_261941160505769984_o.jpg", - "attachments/2018-10-0912.49.30.png", - "attachments/2018-10-13_02.jpg" + "attachments/2018-10-0912.49.30.png" ] } \ No newline at end of file From d247eca4f7a5e0d4b579e9e76974a0fe87d8aaa1 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 16:51:16 +0800 Subject: [PATCH 06/63] vault backup: 2022-06-12 16:51:15 Affected files: .obsidian/app.json .obsidian/workspace --- .obsidian/app.json | 2 +- .obsidian/workspace | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.obsidian/app.json b/.obsidian/app.json index 26f6f87..29aef37 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -14,5 +14,5 @@ "newFileLocation": "current", "legacyEditor": false, "livePreview": false, - "communityThemeSortOrder": "release" + "communityThemeSortOrder": "download" } \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index 670c601..cba5e5f 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -7,8 +7,12 @@ "id": "cfe19fa2de06a1e6", "type": "leaf", "state": { - "type": "empty", - "state": {} + "type": "markdown", + "state": { + "file": "00. TOP/01. TODO.md", + "mode": "source", + "source": true + } } } ], @@ -65,6 +69,7 @@ "state": { "type": "backlink", "state": { + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -80,10 +85,13 @@ "type": "leaf", "state": { "type": "outline", - "state": {} + "state": { + "file": "00. TOP/01. TODO.md" + } } } - ] + ], + "currentTab": 1 }, { "id": "a0240ced26011060", @@ -108,10 +116,10 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "00. TOP/01. TODO.md", "02. PARA/01. Project(專案)/未命名.md", "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/99. templates/front matter.md", - "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/Obsidian.md", "attachments/Pasted image 20201206094618.png", "attachments/para_example.png", From 2faf1799a006c6ee67d0ee475c4226d97b358798 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 18:31:16 +0800 Subject: [PATCH 07/63] vault backup: 2022-06-12 18:31:15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/C++17/lambda.md --- .obsidian/workspace | 10 +++++----- .../03. Resources(資源)/C++17/lambda.md | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 02. PARA/03. Resources(資源)/C++17/lambda.md diff --git a/.obsidian/workspace b/.obsidian/workspace index cba5e5f..0f0f47b 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/01. TODO.md" + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md" } } } @@ -116,6 +116,7 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/C++17/lambda.md", "00. TOP/01. TODO.md", "02. PARA/01. Project(專案)/未命名.md", "02. PARA/01. Project(專案)/008. Sentinel.md", @@ -124,7 +125,6 @@ "attachments/Pasted image 20201206094618.png", "attachments/para_example.png", "attachments/Dicker Max_001.jpg", - "attachments/92709501_101757388184474_261941160505769984_o.jpg", - "attachments/2018-10-0912.49.30.png" + "attachments/92709501_101757388184474_261941160505769984_o.jpg" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md new file mode 100644 index 0000000..9de7c16 --- /dev/null +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -0,0 +1,19 @@ +--- +tags: +aliases: +date: 2022-06-12 +time: 18:21:42 +description: +--- + +一個簡單的 Lamdba 運算式: +```cpp +[] (int x, int y) -> bool { + return x < y; +} +``` + +- 以中括號開頭,中括號被稱為*lamdba 導入器(lamdba introducer)* +- 小括號裡面是*lamdba 參數列表(lambda parameter list)* +- 如果沒有參數,小括號可以省略,`[] () {...}` 可以簡寫成 `[] {...}` +- 箭號(`->`)後面是回傳的型別,如果沒寫就由 `return` 自動推斷 \ No newline at end of file From f7721562742607cb805eb4de27b9cdf3a9e32ebd Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 12 Jun 2022 18:41:16 +0800 Subject: [PATCH 08/63] vault backup: 2022-06-12 18:41:15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- 02. PARA/03. Resources(資源)/C++17/lambda.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 9de7c16..ffae872 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -16,4 +16,11 @@ description: - 以中括號開頭,中括號被稱為*lamdba 導入器(lamdba introducer)* - 小括號裡面是*lamdba 參數列表(lambda parameter list)* - 如果沒有參數,小括號可以省略,`[] () {...}` 可以簡寫成 `[] {...}` -- 箭號(`->`)後面是回傳的型別,如果沒寫就由 `return` 自動推斷 \ No newline at end of file +- 箭號(`->`)後面是回傳的型別,如果沒寫就由 `return` 自動推斷 + +將 Lamdba 運算式指定給變數: +```cpp +auto comapre = [] (int x, int y) -> bool { + return x < y; +}; +``` \ No newline at end of file From 352834243af82ce0bd56be449ce5b5c6f2f28b07 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 15:30:30 +0800 Subject: [PATCH 09/63] vault backup: 2022-06-13 15:30:30 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- 02. PARA/03. Resources(資源)/C++17/lambda.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index ffae872..6598a50 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -23,4 +23,14 @@ description: auto comapre = [] (int x, int y) -> bool { return x < y; }; -``` \ No newline at end of file +``` + +## Lamdba的擷取子句 +以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 +[=] 表示它們會以值擷取(captured by value)。 +[&] 表示它們會以址擷取(captured by reference)。 + +### 以值擷取(captured by value) +假設有一個function如下: + +### 以址擷取(captured by reference) \ No newline at end of file From 2a75663f5f89946bed1ea255662969c22532cd99 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 15:40:30 +0800 Subject: [PATCH 10/63] vault backup: 2022-06-13 15:40:30 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 6598a50..bc72cac 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -27,10 +27,27 @@ auto comapre = [] (int x, int y) -> bool { ## Lamdba的擷取子句 以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 -[=] 表示它們會以值擷取(captured by value)。 -[&] 表示它們會以址擷取(captured by reference)。 +`[=]` 表示它們會以值擷取(captured by value)。 +`[&]` 表示它們會以址擷取(captured by reference)。 ### 以值擷取(captured by value) -假設有一個function如下: +假設有一段程式如下: +```cpp +void testLambda() { + float notUsed = 1.0f; + std::vector numlist{10, 20, 30, 50, 60}; + auto findInRange = [=](int32_t start, int32_t end) { + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; + }; + + std::cout << "Result: " << findInRange(25, 35) << "\n"; +} +``` + +用`[=]`可以用來擷取 lamdba scope範圍所及的變數,沒有在 Lamdba 運算式裡面被用到的變數舊部會被擷取,例如 `float notUsed = 1.0f;`。 + ### 以址擷取(captured by reference) \ No newline at end of file From 338e353f31ab21c5c676ffc18a4c593d37ee5ce0 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 17:34:14 +0800 Subject: [PATCH 11/63] vault backup: 2022-06-13 17:34:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index bc72cac..a86bd61 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -27,7 +27,7 @@ auto comapre = [] (int x, int y) -> bool { ## Lamdba的擷取子句 以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 -`[=]` 表示它們會以值擷取(captured by value)。 +`[=]` 表示它們會以值擷取(captured by value)。Scope內的變數都可以在 `[&]` 表示它們會以址擷取(captured by reference)。 ### 以值擷取(captured by value) @@ -47,7 +47,31 @@ void testLambda() { } ``` -用`[=]`可以用來擷取 lamdba scope範圍所及的變數,沒有在 Lamdba 運算式裡面被用到的變數舊部會被擷取,例如 `float notUsed = 1.0f;`。 +用`[=]`可以用來擷取 lamdba scope範圍所及的變數,沒有在 Lamdba 運算式裡面被用到的變數就不會被擷取,例如 `float notUsed = 1.0f;`。 +另一個重點是:**被擷取的變數是不可以更改的**。例如,不能在lamdba裡面這樣寫: +```cpp +auto findInRange = [=](int32_t start, int32_t end) { + numlist.push_back(5); // ERROR! + + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; +}; +``` +如果一定要在 lambda內改變擷取的變數,那必須指名 lambda 為 `mutable`: +```cpp +auto findInRange = [=](int32_t start, int32_t end) mutable { // <-- assign mutable + numlist.push_back(5); + + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; +}; +``` + +#### ### 以址擷取(captured by reference) \ No newline at end of file From cd7fe4b95777d950244c15297bc36d8e324ec46b Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 17:44:14 +0800 Subject: [PATCH 12/63] vault backup: 2022-06-13 17:44:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 49 +++++++++++++++++-- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index a86bd61..9ced500 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -27,8 +27,8 @@ auto comapre = [] (int x, int y) -> bool { ## Lamdba的擷取子句 以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 -`[=]` 表示它們會以值擷取(captured by value)。Scope內的變數都可以在 -`[&]` 表示它們會以址擷取(captured by reference)。 +`[=]` 表示它們會以值擷取(captured by value)。Scope內的變數可以在 lamdba 內使用,但是不可以改變。 +`[&]` 表示它們會以址擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 ### 以值擷取(captured by value) 假設有一段程式如下: @@ -72,6 +72,49 @@ auto findInRange = [=](int32_t start, int32_t end) mutable { // <-- assign mutab }; ``` -#### +根據書上解釋 ,可以裡解為 compiler 會將 lamdba 編為一個 class,像是: +```cpp +class __Lambda8C1A5 { +public: + __Lambda8C1A5(const std::vector& arg1) : numlist(arg1) {} + auto operator()(int32_t start, int32_t end) const { // const! + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; + } + +private: + std::vector numlist; +}; +``` + +這也解釋了 lamdba 的擷取範圍與原理。而 `mutable` 則是讓 `operator()` 不為 `const`,如下: +```cpp +auto findInRange = [=](int32_t start, int32_t end) mutable { // <-- assign mutable + numlist.push_back(5); + + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; +}; + +... + +class __Lambda8C1A5 { +public: + __Lambda8C1A5(const std::vector& arg1) : numlist(arg1) {} + auto operator()(int32_t start, int32_t end) { // No const here + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; + } + +private: + std::vector numlist; +}; +``` ### 以址擷取(captured by reference) \ No newline at end of file From fc0642d17ae3498eaae1fde924ba6a5f9903c1a7 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 18:14:14 +0800 Subject: [PATCH 13/63] vault backup: 2022-06-13 18:14:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 9ced500..500b65a 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -28,7 +28,7 @@ auto comapre = [] (int x, int y) -> bool { ## Lamdba的擷取子句 以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 `[=]` 表示它們會以值擷取(captured by value)。Scope內的變數可以在 lamdba 內使用,但是不可以改變。 -`[&]` 表示它們會以址擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 +`[&]` 表示它們會以參考擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 ### 以值擷取(captured by value) 假設有一段程式如下: @@ -117,4 +117,22 @@ private: }; ``` -### 以址擷取(captured by reference) \ No newline at end of file +### 以參考擷取(captured by reference) +`[&]` 會擷取 scope 內的所有外部變數,而且可以修改: +```cpp +void testLambda() { + float notUsed = 1.0f; + std::vector numlist{10, 20, 30, 50, 60}; + auto findInRange = [&](int32_t start, int32_t end) { + numlist.push_back(100); // OK + + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; + }; + + std::cout << "Result: " << findInRange(25, 35) << "\n"; + std::cout << "numlist: " << numlist << "\n"; +} +``` \ No newline at end of file From 6f6a6d47e764db2f173d6b75899f934206ed41d0 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 18:24:14 +0800 Subject: [PATCH 14/63] vault backup: 2022-06-13 18:24:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 51 +++++++++++++++++-- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 500b65a..6d74033 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -122,10 +122,10 @@ private: ```cpp void testLambda() { float notUsed = 1.0f; - std::vector numlist{10, 20, 30, 50, 60}; - auto findInRange = [&](int32_t start, int32_t end) { + std::vector numlist{ 10, 20, 30, 50, 60 }; + auto findInRange = [&](int32_t start, int32_t end) { // Use & here numlist.push_back(100); // OK - + for (auto num : numlist) { if (num >= start && num <= end) return true; } @@ -133,6 +133,47 @@ void testLambda() { }; std::cout << "Result: " << findInRange(25, 35) << "\n"; - std::cout << "numlist: " << numlist << "\n"; + std::cout << "numlist: "; + for (auto n : numlist) { + std::cout << n << " "; + } + std::cout << "\n"; // Output numlist: 10 20 30 50 60 100 } -``` \ No newline at end of file +``` + +但是直接參考全部的外部變數不是好的作法,這讓你有機會做出一些意外的修改,所以請擷取有需要的變數就好: +```cpp +void testLambda() { + float notUsed = 1.0f; + std::vector numlist{ 10, 20, 30, 50, 60 }; + + auto findInRange = [&numlist](int32_t start, int32_t end) { + numlist.push_back(100); // OK + + for (auto num : numlist) { + if (num >= start && num <= end) return true; + } + return false; + }; + + ... +} +``` + +如果有多個變數需要擷取,那就用 `,` 分開: +```cpp +auto findInRange = [&numlist, &var1, &var2](int32_t start, int32_t end) { + ... +}; +``` + +### 混合 +以值擷取跟參考擷取也可以寫在一起: +```cpp +auto findInRange = [=, &numlist](int32_t start, int32_t end) { + ... +}; +``` + +上面的例子中,`numlist` 會是一個參考擷取,其他的外部變數則是以值擷取。 +或是: From cefb662def487b8243f3d4d20247543893ff4f9c Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 18:34:14 +0800 Subject: [PATCH 15/63] vault backup: 2022-06-13 18:34:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 6d74033..0d2fd72 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -117,6 +117,19 @@ private: }; ``` +### 以值擷取特定的變數 +若只需要擷取特定的變數,那就直接在 lamdba 導入器(就是`[]`)寫入變數名稱,例如: +```cpp +int var1 = 10; +int var2 = 20; +int var3 = 30; + +auto afunc = [var1, var2] () { + ... +}; +``` + + ### 以參考擷取(captured by reference) `[&]` 會擷取 scope 內的所有外部變數,而且可以修改: ```cpp @@ -141,6 +154,7 @@ void testLambda() { } ``` +### 以參考擷取特定的變數 但是直接參考全部的外部變數不是好的作法,這讓你有機會做出一些意外的修改,所以請擷取有需要的變數就好: ```cpp void testLambda() { @@ -174,6 +188,12 @@ auto findInRange = [=, &numlist](int32_t start, int32_t end) { ... }; ``` - 上面的例子中,`numlist` 會是一個參考擷取,其他的外部變數則是以值擷取。 + 或是: +```cpp +auto findInRange = [&, numlist](int32_t start, int32_t end) { + ... +}; +``` +上面的例子中,`numlist` 會是一個以值擷取,其他的外部變數則是參考擷取。 \ No newline at end of file From ebdcc06e3964a49bfe13740b1bc8e6e74a6c17f7 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 18:44:14 +0800 Subject: [PATCH 16/63] vault backup: 2022-06-13 18:44:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- 02. PARA/03. Resources(資源)/C++17/lambda.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 0d2fd72..c6c68bb 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -188,7 +188,7 @@ auto findInRange = [=, &numlist](int32_t start, int32_t end) { ... }; ``` -上面的例子中,`numlist` 會是一個參考擷取,其他的外部變數則是以值擷取。 +上面的例子中,`numlist` 會是參考擷取,其他的外部變數則是以值擷取。 或是: ```cpp @@ -196,4 +196,7 @@ auto findInRange = [&, numlist](int32_t start, int32_t end) { ... }; ``` -上面的例子中,`numlist` 會是一個以值擷取,其他的外部變數則是參考擷取。 \ No newline at end of file +上面的例子中,`numlist` 會以值擷取,其他的外部變數則是參考擷取。 + +但是,如果已經使用了 `=` ,就不可以再以值擷取其他變數,像是 `[=, numlist]` 就是不合法的。 +反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 \ No newline at end of file From 7a708944161cf28172696df19f9427ecb0446a45 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 18:54:14 +0800 Subject: [PATCH 17/63] vault backup: 2022-06-13 18:54:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index c6c68bb..1bd27ac 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -199,4 +199,24 @@ auto findInRange = [&, numlist](int32_t start, int32_t end) { 上面的例子中,`numlist` 會以值擷取,其他的外部變數則是參考擷取。 但是,如果已經使用了 `=` ,就不可以再以值擷取其他變數,像是 `[=, numlist]` 就是不合法的。 -反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 \ No newline at end of file +反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 + +### 存取 class +Lamdba 寫在 class 裡面的時候,不論「以值擷取」或是「以參考擷取」都沒辦法傳遞成員變數(member variable),只能傳遞 `this`,透過 `this` 來存取成員變數。例: +```cpp +class BigBuffer { +public: + void modify(int x, int y, ...) { + auto modifyBuffer = [this] () { // Use this + if (buffer) { // equal to this->buffer + // do something with buffer + } + }; + ... + } + +private: + uint32_t bufferSize = 0; + std::unique_ptr buffer = nullptr; +}; +``` \ No newline at end of file From 1120f1836c99e115cb07d8f898b9b46665565654 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 19:04:14 +0800 Subject: [PATCH 18/63] vault backup: 2022-06-13 19:04:14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- 02. PARA/03. Resources(資源)/C++17/lambda.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 1bd27ac..17dbc35 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -219,4 +219,4 @@ private: uint32_t bufferSize = 0; std::unique_ptr buffer = nullptr; }; -``` \ No newline at end of file +``` From ca71b9b4b5eb7da663a053ff41ed7b4ca0cb9e1e Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 19:14:15 +0800 Subject: [PATCH 19/63] vault backup: 2022-06-13 19:14:15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/C++17/lambda.md --- .obsidian/workspace | 6 +++--- 02. PARA/03. Resources(資源)/C++17/lambda.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 0f0f47b..73ef416 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -117,14 +117,14 @@ "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ "02. PARA/03. Resources(資源)/C++17/lambda.md", + "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", + "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", "00. TOP/01. TODO.md", "02. PARA/01. Project(專案)/未命名.md", "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/99. templates/front matter.md", "02. PARA/03. Resources(資源)/Obsidian.md", "attachments/Pasted image 20201206094618.png", - "attachments/para_example.png", - "attachments/Dicker Max_001.jpg", - "attachments/92709501_101757388184474_261941160505769984_o.jpg" + "attachments/para_example.png" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index 17dbc35..d64cefa 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -202,7 +202,7 @@ auto findInRange = [&, numlist](int32_t start, int32_t end) { 反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 ### 存取 class -Lamdba 寫在 class 裡面的時候,不論「以值擷取」或是「以參考擷取」都沒辦法傳遞成員變數(member variable),只能傳遞 `this`,透過 `this` 來存取成員變數。例: +Lamdba 寫在 class 裡面的時候,不論「以值擷取 」或是「以參考擷取」都沒辦法傳遞成員變數(member variable),只能傳遞 `this`,透過 `this` 來存取成員變數。例: ```cpp class BigBuffer { public: From f581aa4cde241132f55dfe8c6e58fa839f039ea4 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 19:24:15 +0800 Subject: [PATCH 20/63] vault backup: 2022-06-13 19:24:15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/C++17/lambda.md --- .../03. Resources(資源)/C++17/lambda.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index d64cefa..fb89ffd 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -26,11 +26,11 @@ auto comapre = [] (int x, int y) -> bool { ``` ## Lamdba的擷取子句 -以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 -`[=]` 表示它們會以值擷取(captured by value)。Scope內的變數可以在 lamdba 內使用,但是不可以改變。 -`[&]` 表示它們會以參考擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 +以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 +`[=]` 表示它們會以值擷取(captured by value)。Scope內的變數可以在 lamdba 內使用,但是不可以改變。 +`[&]` 表示它們會以參考擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 -### 以值擷取(captured by value) +## 以值擷取(captured by value) 假設有一段程式如下: ```cpp void testLambda() { @@ -47,8 +47,8 @@ void testLambda() { } ``` -用`[=]`可以用來擷取 lamdba scope範圍所及的變數,沒有在 Lamdba 運算式裡面被用到的變數就不會被擷取,例如 `float notUsed = 1.0f;`。 -另一個重點是:**被擷取的變數是不可以更改的**。例如,不能在lamdba裡面這樣寫: +用`[=]`可以用來擷取 lamdba scope 範圍所及的變數,沒有在 Lamdba 運算式裡面被用到的變數就不會被擷取,例如 `float notUsed = 1.0f;`。 +另一個重點是:**被擷取的變數是不可以更改的**。例如,不能在 lambda 裡面這樣寫: ```cpp auto findInRange = [=](int32_t start, int32_t end) { numlist.push_back(5); // ERROR! @@ -60,7 +60,7 @@ auto findInRange = [=](int32_t start, int32_t end) { }; ``` -如果一定要在 lambda內改變擷取的變數,那必須指名 lambda 為 `mutable`: +如果一定要在 lambda 內改變擷取的變數,那必須指名 lambda 為 `mutable`: ```cpp auto findInRange = [=](int32_t start, int32_t end) mutable { // <-- assign mutable numlist.push_back(5); @@ -117,7 +117,7 @@ private: }; ``` -### 以值擷取特定的變數 +## 以值擷取特定的變數 若只需要擷取特定的變數,那就直接在 lamdba 導入器(就是`[]`)寫入變數名稱,例如: ```cpp int var1 = 10; @@ -130,7 +130,7 @@ auto afunc = [var1, var2] () { ``` -### 以參考擷取(captured by reference) +## 以參考擷取(captured by reference) `[&]` 會擷取 scope 內的所有外部變數,而且可以修改: ```cpp void testLambda() { @@ -154,7 +154,7 @@ void testLambda() { } ``` -### 以參考擷取特定的變數 +## 以參考擷取特定的變數 但是直接參考全部的外部變數不是好的作法,這讓你有機會做出一些意外的修改,所以請擷取有需要的變數就好: ```cpp void testLambda() { @@ -181,7 +181,7 @@ auto findInRange = [&numlist, &var1, &var2](int32_t start, int32_t end) { }; ``` -### 混合 +## 混合擷取 以值擷取跟參考擷取也可以寫在一起: ```cpp auto findInRange = [=, &numlist](int32_t start, int32_t end) { @@ -196,13 +196,14 @@ auto findInRange = [&, numlist](int32_t start, int32_t end) { ... }; ``` -上面的例子中,`numlist` 會以值擷取,其他的外部變數則是參考擷取。 +上面的例子中,`numlist` 會以值擷取,其他的外部變數則是參考擷取。 -但是,如果已經使用了 `=` ,就不可以再以值擷取其他變數,像是 `[=, numlist]` 就是不合法的。 -反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 +但是,如果已經使用了 `=` ,就不可以再以值擷取其他變數,像是 `[=, numlist]` 就是不合法的。 +反之,如果已經使用了 `&`,就不可以再參考擷取其他變數,像是 `[&, &var1]` 就是不合法的。 -### 存取 class -Lamdba 寫在 class 裡面的時候,不論「以值擷取 」或是「以參考擷取」都沒辦法傳遞成員變數(member variable),只能傳遞 `this`,透過 `this` 來存取成員變數。例: + +## 存取 class +Lamdba 寫在 class 裡面的時候,不論 [[lambda#以值擷取(captured by value)|以值擷取]]或是 [[lambda#以參考擷取(captured by reference)|以參考擷取]]都沒辦法傳遞成員變數(member variable),只能傳遞 `this`,透過 `this` 來存取成員變數。例: ```cpp class BigBuffer { public: From 2d22f1ebeb610f58b77add5528519dba3121a88a Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 21:29:24 +0800 Subject: [PATCH 21/63] vault backup: 2022-06-13 21:29:23 Affected files: .obsidian/workspace --- .obsidian/workspace | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 73ef416..f3eed55 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", + "file": "02. PARA/03. Resources(資源)/C++17/C++17.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", + "file": "02. PARA/03. Resources(資源)/C++17/C++17.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md" + "file": "02. PARA/03. Resources(資源)/C++17/C++17.md" } } } @@ -116,6 +116,7 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", @@ -124,7 +125,6 @@ "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/99. templates/front matter.md", "02. PARA/03. Resources(資源)/Obsidian.md", - "attachments/Pasted image 20201206094618.png", - "attachments/para_example.png" + "attachments/Pasted image 20201206094618.png" ] } \ No newline at end of file From 08e568d9e51d3b3f93eca7df2314fdb7517d0014 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 13 Jun 2022 21:39:21 +0800 Subject: [PATCH 22/63] vault backup: 2022-06-13 21:39:21 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/C++17/lambda.md --- .obsidian/workspace | 8 ++++---- 02. PARA/03. Resources(資源)/C++17/lambda.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index f3eed55..b341c81 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/C++17.md", + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/C++17.md", + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/C++17.md" + "file": "02. PARA/03. Resources(資源)/C++17/lambda.md" } } } @@ -116,8 +116,8 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ - "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/lambda.md", + "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", "00. TOP/01. TODO.md", diff --git a/02. PARA/03. Resources(資源)/C++17/lambda.md b/02. PARA/03. Resources(資源)/C++17/lambda.md index fb89ffd..b52afb7 100644 --- a/02. PARA/03. Resources(資源)/C++17/lambda.md +++ b/02. PARA/03. Resources(資源)/C++17/lambda.md @@ -26,7 +26,7 @@ auto comapre = [] (int x, int y) -> bool { ``` ## Lamdba的擷取子句 -以中括號開頭的 *lamdba 導入器*可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 +以中括號開頭的 *lamdba 導入器* 可以將外部的變數傳給 Lamdba 運算式,正式名稱是「擷取子句(capture clause)」。 `[=]` 表示它們會以值擷取(captured by value)。Scope內的變數可以在 lamdba 內使用,但是不可以改變。 `[&]` 表示它們會以參考擷取(captured by reference)。Scope內的變數可以在 lamdba 內使用,可以改變。 From ec871c349f2f2411e41dcc8be1ba7fcf033221f5 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 15:53:24 +0800 Subject: [PATCH 23/63] vault backup: 2022-06-14 15:53:24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Design Pattern.md attachments/20220614154819_Observer_Pattern.png --- .obsidian/workspace | 10 +++++----- .../03. Resources(資源)/Design Pattern.md | 7 +++++++ attachments/20220614154819_Observer_Pattern.png | Bin 0 -> 25984 bytes 3 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 attachments/20220614154819_Observer_Pattern.png diff --git a/.obsidian/workspace b/.obsidian/workspace index b341c81..a2899d5 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", + "file": "02. PARA/03. Resources(資源)/Design Pattern.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md", + "file": "02. PARA/03. Resources(資源)/Design Pattern.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/C++17/lambda.md" + "file": "02. PARA/03. Resources(資源)/Design Pattern.md" } } } @@ -116,6 +116,7 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", @@ -124,7 +125,6 @@ "02. PARA/01. Project(專案)/未命名.md", "02. PARA/01. Project(專案)/008. Sentinel.md", "02. PARA/03. Resources(資源)/99. templates/front matter.md", - "02. PARA/03. Resources(資源)/Obsidian.md", - "attachments/Pasted image 20201206094618.png" + "02. PARA/03. Resources(資源)/Obsidian.md" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index c758793..643c11a 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -131,3 +131,10 @@ class duckWood : public duck { ![[Pasted image 20220526183019.png]] 這樣做的另一個好處是fly的初始化是動態的,只要再多一個`set()` function就可以動態的切換實作,也就是說你可以從設定檔來決定你的鴨子要長什麼樣子。 + + +## 觀察者模式(Observer Pattern ) +有一個會產生變動的主角(subject),與一堆需要觀察變動的「觀察者」。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 +![[20220614154819_Observer_Pattern.png]] + +其中 \ No newline at end of file diff --git a/attachments/20220614154819_Observer_Pattern.png b/attachments/20220614154819_Observer_Pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..fe419fc3f90715efbc72c0ee96593881d09c889b GIT binary patch literal 25984 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 Date: Tue, 14 Jun 2022 16:03:24 +0800 Subject: [PATCH 24/63] vault backup: 2022-06-14 16:03:24 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- 02. PARA/03. Resources(資源)/Design Pattern.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index 643c11a..fc5ba55 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -134,7 +134,11 @@ class duckWood : public duck { ## 觀察者模式(Observer Pattern ) -有一個會產生變動的主角(subject),與一堆需要觀察變動的「觀察者」。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 +有一個會產生變動的主角(subject),與一堆需要觀察變動的觀察者(Observer)。觀察者向主角註冊,當主角發生變化的時候,發後通知給觀察者。 ![[20220614154819_Observer_Pattern.png]] -其中 \ No newline at end of file +Subject方面,attach() 就是註冊觀察者,也可以叫做 register()、add() 之類。 +detach() 用來移除用戶,也可以叫做 unregister()、remove() 之類。 +notify()則是當發生變化時,用來通知所有觀察者的實作。 + +觀察者方面必須實作 update() 才能收到通知。 From f268fa5c19960a6476a8525bafb2876f74e3af6e Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 17:23:25 +0800 Subject: [PATCH 25/63] vault backup: 2022-06-14 17:23:24 Affected files: .obsidian/snippets/obsidian.css .obsidian/workspace 00. TOP/00. Inbox.md --- .obsidian/snippets/obsidian.css | 10 ++++++++++ .obsidian/workspace | 16 ++++++++-------- 00. TOP/00. Inbox.md | 1 + 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.obsidian/snippets/obsidian.css b/.obsidian/snippets/obsidian.css index 3f1ed1c..a2fb826 100644 --- a/.obsidian/snippets/obsidian.css +++ b/.obsidian/snippets/obsidian.css @@ -237,3 +237,13 @@ a.external-link { .cm-s-obsidian span.cm-inline-code { /*font-size: 1em;*/ } + + +div[src$="#side"] { + position: relative; + float: left; + width: 35%; + margin-top: 5px; + margin-left: 10px; + margin-right: 12px; +} \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index a2899d5..b8938f3 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,8 +9,8 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md", - "mode": "source", + "file": "00. TOP/00. Inbox.md", + "mode": "preview", "source": true } } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md", + "file": "00. TOP/00. Inbox.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md" + "file": "00. TOP/00. Inbox.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "00. TOP/00. Inbox.md", + "02. PARA/01. Project(專案)/005. TestCam.md", + "attachments/2018-10-06_01.jpg", "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", "00. TOP/01. TODO.md", - "02. PARA/01. Project(專案)/未命名.md", - "02. PARA/01. Project(專案)/008. Sentinel.md", - "02. PARA/03. Resources(資源)/99. templates/front matter.md", - "02. PARA/03. Resources(資源)/Obsidian.md" + "02. PARA/01. Project(專案)/未命名.md" ] } \ No newline at end of file diff --git a/00. TOP/00. Inbox.md b/00. TOP/00. Inbox.md index e69de29..d27797c 100644 --- a/00. TOP/00. Inbox.md +++ b/00. TOP/00. Inbox.md @@ -0,0 +1 @@ +![[2018-10-06_01.jpg#side]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file From 430585bc0404e35611c34b25077c721509b28430 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 17:33:25 +0800 Subject: [PATCH 26/63] vault backup: 2022-06-14 17:33:24 Affected files: .obsidian/snippets/obsidian.css .obsidian/workspace 00. TOP/00. Inbox.md --- .obsidian/snippets/obsidian.css | 12 +++++------- .obsidian/workspace | 2 +- 00. TOP/00. Inbox.md | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.obsidian/snippets/obsidian.css b/.obsidian/snippets/obsidian.css index a2fb826..6a9086e 100644 --- a/.obsidian/snippets/obsidian.css +++ b/.obsidian/snippets/obsidian.css @@ -239,11 +239,9 @@ a.external-link { } -div[src$="#side"] { - position: relative; +/*img { + width: 10%; + display: block; float: left; - width: 35%; - margin-top: 5px; - margin-left: 10px; - margin-right: 12px; -} \ No newline at end of file + margin: 10px; +}*/ \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index b8938f3..6e9891c 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/00. Inbox.md", - "mode": "preview", + "mode": "source", "source": true } } diff --git a/00. TOP/00. Inbox.md b/00. TOP/00. Inbox.md index d27797c..69b1f2d 100644 --- a/00. TOP/00. Inbox.md +++ b/00. TOP/00. Inbox.md @@ -1 +1 @@ -![[2018-10-06_01.jpg#side]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file +![[2018-10-06_01.jpg|left]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file From ee370cd2e8173a0b8a5c74cc060572da90502071 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 17:43:25 +0800 Subject: [PATCH 27/63] vault backup: 2022-06-14 17:43:24 Affected files: 00. TOP/00. Inbox.md --- 00. TOP/00. Inbox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/00. TOP/00. Inbox.md b/00. TOP/00. Inbox.md index 69b1f2d..26f6a9c 100644 --- a/00. TOP/00. Inbox.md +++ b/00. TOP/00. Inbox.md @@ -1 +1 @@ -![[2018-10-06_01.jpg|left]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file +![[2018-10-06_01.jpg|sss]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file From 0fc1bf222d71028034687c71251e7429c4fcd6bc Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 17:53:51 +0800 Subject: [PATCH 28/63] vault backup: 2022-06-14 17:53:51 Affected files: .obsidian/snippets/obsidian.css .obsidian/workspace 00. TOP/00. Inbox.md --- .obsidian/snippets/obsidian.css | 8 -------- .obsidian/workspace | 2 +- 00. TOP/00. Inbox.md | 1 - 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/.obsidian/snippets/obsidian.css b/.obsidian/snippets/obsidian.css index 6a9086e..3f1ed1c 100644 --- a/.obsidian/snippets/obsidian.css +++ b/.obsidian/snippets/obsidian.css @@ -237,11 +237,3 @@ a.external-link { .cm-s-obsidian span.cm-inline-code { /*font-size: 1em;*/ } - - -/*img { - width: 10%; - display: block; - float: left; - margin: 10px; -}*/ \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index 6e9891c..98d5613 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -117,6 +117,7 @@ "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ "00. TOP/00. Inbox.md", + "00. TOP/01. TODO.md", "02. PARA/01. Project(專案)/005. TestCam.md", "attachments/2018-10-06_01.jpg", "02. PARA/03. Resources(資源)/Design Pattern.md", @@ -124,7 +125,6 @@ "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", - "00. TOP/01. TODO.md", "02. PARA/01. Project(專案)/未命名.md" ] } \ No newline at end of file diff --git a/00. TOP/00. Inbox.md b/00. TOP/00. Inbox.md index 26f6a9c..e69de29 100644 --- a/00. TOP/00. Inbox.md +++ b/00. TOP/00. Inbox.md @@ -1 +0,0 @@ -![[2018-10-06_01.jpg|sss]] Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, \ No newline at end of file From 3810da15fefd00c081e2d44e950b46340fa08189 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 21:15:16 +0800 Subject: [PATCH 29/63] vault backup: 2022-06-14 21:15:16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/plugins/oz-image-plugin/data.json .obsidian/workspace 02. PARA/03. Resources(資源)/Design Pattern.md --- .obsidian/plugins/oz-image-plugin/data.json | 13 +++++++++++++ .obsidian/workspace | 2 +- 02. PARA/03. Resources(資源)/Design Pattern.md | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 .obsidian/plugins/oz-image-plugin/data.json diff --git a/.obsidian/plugins/oz-image-plugin/data.json b/.obsidian/plugins/oz-image-plugin/data.json new file mode 100644 index 0000000..f38a2ef --- /dev/null +++ b/.obsidian/plugins/oz-image-plugin/data.json @@ -0,0 +1,13 @@ +{ + "renderAll": true, + "cm6RenderAll": true, + "renderImages": true, + "renderPDF": true, + "renderIframe": false, + "renderExcalidraw": false, + "renderRichLink": false, + "renderTransclusion": false, + "previewOnHoverInternalLink": false, + "refreshImagesAfterChange": false, + "WYSIWYG": false +} \ No newline at end of file diff --git a/.obsidian/workspace b/.obsidian/workspace index 98d5613..d05fb0a 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -118,9 +118,9 @@ "lastOpenFiles": [ "00. TOP/00. Inbox.md", "00. TOP/01. TODO.md", + "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/01. Project(專案)/005. TestCam.md", "attachments/2018-10-06_01.jpg", - "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index fc5ba55..7ff1f3b 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -10,7 +10,7 @@ description: 策略模式可以提供不一樣的演算法,但是又不用更改程式。 以常見的鴨子為例,有一個基礎類別Duck,如何衍生出會飛得鴨子跟不會飛的鴨子?抑或是會叫的跟不會叫的? 第一部是將會變動的部份分離出來,讓鴨子類別不需要去在乎飛跟叫的問題。 -再來是把飛跟叫的部份包裝成另一個class,並以之為基礎類別來實做出「實際的類別」。 +再來是把飛跟叫的部份包裝成另一個class,並以之為基礎類別來實做出「實際的類別」。 ^e59e9f 以一般C++的override方法,會用的方式大致是這樣: From 292e1f00a197cbdf0ff9c34e94e16f9d76f5a0f5 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 21:25:13 +0800 Subject: [PATCH 30/63] vault backup: 2022-06-14 21:25:13 Affected files: .obsidian/workspace --- .obsidian/workspace | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index d05fb0a..6c9ac99 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/00. Inbox.md", + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/00. Inbox.md", + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/00. Inbox.md" + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md" } } } @@ -116,6 +116,7 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "00. TOP/00. Inbox.md", "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/Design Pattern.md", @@ -124,7 +125,6 @@ "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/C++17.md", "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", - "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md", - "02. PARA/01. Project(專案)/未命名.md" + "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md" ] } \ No newline at end of file From c9caa6fa2fac8edd48dfbaa4193de84eb2cc99f9 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 21:45:13 +0800 Subject: [PATCH 31/63] vault backup: 2022-06-14 21:45:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md --- .../03. Resources(資源)/Tool Setup/Windows Terminal.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index edf5341..f348404 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -155,5 +155,10 @@ unset THEME } ``` +## oh-my-posh on bash +1. 先下載一個你喜歡的theme: [https://ohmyposh.dev/docs/themes](https://ohmyposh.dev/docs/themes) +2. 下載並安裝字型:[Caskaydia Cove Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip?WT.mc_id=-blog-scottha) +3. Install OhMyPosh: `winget install JanDeDobbeleer.OhMyPosh` + ## Reference - [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/) From 3ef2e7d9295035211f03bc06f1813859901a2458 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 22:05:13 +0800 Subject: [PATCH 32/63] vault backup: 2022-06-14 22:05:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md attachments/Pasted image 20220614220342.png --- .obsidian/workspace | 2 +- .../Tool Setup/Windows Terminal.md | 6 ++++++ attachments/Pasted image 20220614220342.png | Bin 0 -> 14546 bytes 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 attachments/Pasted image 20220614220342.png diff --git a/.obsidian/workspace b/.obsidian/workspace index 6c9ac99..7582df3 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", - "mode": "source", + "mode": "preview", "source": true } } diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index f348404..0317f32 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -159,6 +159,12 @@ unset THEME 1. 先下載一個你喜歡的theme: [https://ohmyposh.dev/docs/themes](https://ohmyposh.dev/docs/themes) 2. 下載並安裝字型:[Caskaydia Cove Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip?WT.mc_id=-blog-scottha) 3. Install OhMyPosh: `winget install JanDeDobbeleer.OhMyPosh` +4. 建立並修改 `~/.profile`,然後加入 + `eval "$(oh-my-posh --init --shell bash --config ~/OneDrive/appConfigs/ohmyposh/themes/montys.omp.json)"` + 注意最後的 `montys.omp.json` 就是第一步下載的theme,這邊要改成你自己的路徑。 +5. 修改 Windows Terminal 的 setting.json,將字型改為 `CaskaydiaCove NF` +6. 成果 + ![[Pasted image 20220614220342.png|600]] ## Reference - [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/) diff --git a/attachments/Pasted image 20220614220342.png b/attachments/Pasted image 20220614220342.png new file mode 100644 index 0000000000000000000000000000000000000000..1217b1f71a9819f338c1e24f57aa573d875339b0 GIT binary patch literal 14546 zcmaKTWmp~CvhBj%-8Hzoy9SpK+$F)?orMJrPOxBs1c%`6?!n#N-CyUuyZ1Tw&-=c) zkkzw$O4Y0yHL5yNRaq7Vkq{9C0-?yuNvVTC(CEP5^6;?0PjJc1G6+Ntl9v+K^vpcT z^6=E#S$J!&yRF-ys2GUF>euO`KnO$T&^CDo@m`x%m4{l@evAbkR%*+_NLFmiZ=2lGuQI(52gVHBX7X+%qw5o~z0 zNPC=?h~xYu9bv1vt}vy!!;kFyH+c@zyr0)Rlm$4^VKoV%Yhj^p z9^m({rfT(q$*bjBX9N4ou;itHq46!Q2Y2r0RTU|_)V{coN3dopV`9LY;v-u-W0X$C zT4Mxt`+O&O8C5zzUWT|EBcVTIWrmbc%?}q{3l99rwu68H&3;La5d_T5Rf4i>5+xEI zn%y^+8o003jEFeLKOrHWT!SI`4%OrQyFNmIIQ`>rpNUu*$t^W7_`>fezx%$G@K9Jz z*J`Rg$s}_4O*vU^w!nlyxD!N_N0)=Er%#gUiBYDZkXb<>-w<;j8FWbsTDAz{kDw4( ze)93rTi2=Jyh`{-Gb=GQP2>P8!C;oT_&fGvWbk*HaWGV&H(xhGFn*{i4Wu}F&%QaA zCFS#RP)WG(?Br2b{#|=!-$JxK9aa!|*!b79NDv63nMC+#mAG1^tFj;|P=suiy_T93 zy+^Ij(t}Kk>rAX@E$8GXItWCuFDvAq#owD{w*2;t=3kYkG>8k7YFW>5U!1+v)e zzKrtQ*LNL*N;KHnS5Wv?;{=NhxukT(lih-rU8><2&`#ivNcf~kF?4A5rgbUsWJ=`v z&HcorrGoX+CMM?}!onU-!YoHhNDE5zo{0@9FcmWvg>0cj=YbWmnQi)=DS%qhw26a%4n~k2+cP?l$l&W)eul<+93CSA*-^ zVVsi?@vUZxutDEanZO$j^znNHUrQ`3Y@zH~pR;&e+ixNC_1ueW7C#s69=u`s`F5O0 zPaK5RUyv`pUcT?!HTx!t^=pU&6u4|Fae=cJJ^!6MYYvT_gYC(WZ*nr|4L_@UNirQl&1JDdyJZDV()Z*w`lLRMaBEJ=yP7OH<#PkDqHmfSS7%6?79m$4Jyoxz2A70WxMn1ePF=Z2q#o)YoWCMfIO30Ul zqtwm`RlFO|axE0#Y`p)d554Ch$UzuU^uAmxM!$^kiz(-Ctp2>Go14mjYqz>0?mW4< z8_8&Zu$_fl#8&r+Fn_s|148$bI6T48}Es_&2cdfSsB8xvuyM#sTIsm=V*U^1w$ zSk4f%S&0`iyc8!4*X%f_;UMR}Tx8#l-#@Ea@H_5mcV;VqRVWgVly5|a1Zc0`PrVJh zovGAV80x~WYiDi5i44qn<2oa-+9R;fGYls-=ph+zZWf_@7ikv_$8CFC_7&;_POB~6 zElp0Gp!H)N4Nmq^I%n?}*@B4gq-LQ`x5RuRFVv^*@<{OhF7iW(kR4h%v^(L!1+PK( zC1dLBx0Qht%l%-87~-^eS{Cwq$m6vEF;?8#hukIRV34a7+QcF93hQ*Z)}MNJC_j-4 zC(|^|V|~lV7KEQ%VPhY4F!Khd4jnIy>q++AYnEViX-Gj#oW>fomCSjo>?C`v>K*GG zs30+VxITh~M&`+Ckdfj*yx`+v5lRZjxqHDt!D<*7{2H5VElOC zl(j_{S-;I|e|ODaK{pbzJR;&_E+hPfMF0v!ozwo3U-7^M4jhe*-7`$R_WYS}2&jQ# zEG|Z;{--W^E8_krxXhwp33^#ICy{ML0#|Pome$+o{9i7TG}2&M2N5z(>wYPijzEYR zi_kP~3#M7WMijJ``?i9sN`C!MXHI>{KYA;5FE8@1cCTE{T<*-qJC%!*5j9hB#0ulP zZU1aU>ai*cWSGzuct0o4v7q|2GH12!A6v8+MO|JO)0svETIQpoF^j_CEkD^V8ihEn zN-!`#uo3AXv;Uk5ZeR2BlE5(O{7q;mhHqp@H>jUTp-0)Je}wP5>?>CNa#S>~7#GO) zeX4-ipkwPXBiS; zq5&>ov~QoiP+R!t ziD$52TFRN5H*8JI+<2CnhHhZ(UNCu@WZ zt{45KDfaOr)bNKr3CllLuCJqSsjp<;)W7}}xxP$D#CJ`4V-~J=BdCAR|0lP}HH4^? z%#KthsX7lXyl;*(N($d+=}bnZO;+jqO}C!be%!%C8*@-lJ|C?zsu|!SUV|ZQb%GFZ zITd~y)var%xqka?Mde$Yk6?82sjG>#{;K5YV(O5p@uVy9A?a-(0j}g7S-{hQ1>2_& zm1!sq_7}(CgDb`ggXo9pzV1D=&A1Bx9=L9Gk^svS{MXxNqmu}M_P>{>V>94E1JktW zcEZTZhGgY_=Y_@nq5V0UpF59#nq3^+J>}Qg92`qatC5zbs0yhi^=}5c>ya_-QV(ZN z%l(iB!zl|Bcqgl?Lx>CaA=;hvG!!Ds*E%6vPhXQw8DkjrI=IxVpZ=9#?f2jp1Kr`* zDWz7iGHYkBR;|MC%^kR`U>p+@bYi4Lau|c5HOko zEVt%`G59j>l;^pc`=vr!Q3wRen2QG|BOmf;~@Xi@8aP7563nDWDC$d>AGLRc@S5%4#-A_Zycr#w^iQ z6CvlAp@E_iadQFvq94^shlG5uW*plY^-@WEJVO1^6a_48n|_E|uS-GGdmi3Kd0l)j ztijt`x%!yta;MR7+nMTk62iJsn)6J+E82v}1E-fMc+wEraFw7jB@hnyVr-SRi-Ssy zD_UL2%|$=f7OY!+7auf{B|=1ZmGrNC_UWQ_LYj#D$htV?A}%T0{d-#XPs=ZPo6+a& zp+Z-N9v;Fsux%?O-e`tieF%9=b~ffwAEdo(gB))EQ~^4+e+M_QnAJK(r7Sf7?NVxH zJS#_g>G;W-w$D%GX9;z&{B-yb7+(ij&}ZJdLLO#>6)oVjb@!TB5B_7@Is*KATvW39 z&IE5UEA-zoU-W~N;W7ktZi8e{N0<|7=3~QG`nATC7~I?VFsRfPLgNQ1ORm(Xj1iKN zx$fjs8>@aMCL4n$36K>^BrQ-!{id9tFK#X@hHj%HlOq4==XACl;T+Zwc!A7w z9ukQos(?5F873-Oa(@q~(`5*;{wo{PHksVYZJQIZY2kn`i!{ksyvs+j5mV}cT~XuU zUoB|?N+9&gg^jaA>3)}r{!!b%Q#lWoHlfMZ=U2+BdanTSrGhV5cyt~+$+LE&6mQoN+^m``wxoox#9(N-PsVlUnXN+Gfj( z|J?HixIkt5A94N#Cgon|@1AdNqfB@X9lg8F2NehsdKu)Z>iPBa7`OiFWqYupVUl5c zgDY{st{WPS5Ui|~gL^c0j^C3Dv0nEG`Y>WoXjfmI{dMD$$;2;50Pl>HTIjUv^C<8P zO3`#d6=frbyho^!c^uKR`22i!U%-J5`{A>?fN3&37r*vNBYv~bw2Li;e$z`^w~?4p z9Va^kdd1Efy(&}a0!->Ght;bnvvE3BdKVu2sGn|%b$~8vyAESau1gBt)AwPbCcjlr z8cK7-T+iAyiWR5LNJ_Whx02dPBaoyi7!f|uH632Ech_y}s{_Xsm5@d{yy<2Tx}+q@ zkbNW5smSr$0(4*`>bp5sg~J98$$giqt1*kBw6&ffIyWl<>{&jN3D#e*<^)3DxcS z;6kKaCZ%VCZ-)^_I17HxSCXe zD1v-BSUf9?%ga9b@k)}(^KqYCFSM47M+VC!)xo7GAX&EobA{oaazkspM7oU&oDJ7? z47q_=Gr`|3Ryo9kvqt90@T3z!VGkP?7lt`;o&CiLL|Jv%Ciu^_v&KA=?u|C zt2dO^*Mm(h9wPA0N-*-SCPhxS?x3*et$iY9ib(QrhlEYiK<`ww4IcU=+AwWsp&BbKFv!20cFh0*;UU}4{0nZ8k( zxkkcA_CSH?=unx-@A)-s*)~ibFLJq7USH$cSg}dK13Mhgk7Gp-Ot7^w2zsed?QK_| zuU*6ap_1beSWSpO>UCQ2fkt|&YFgn&pO(5_1(tjq&&3)B^?%40MHmlSoi+NEt;oZ8 z<@mRgF=yFsI68m$HnOBq@QeD|Yg3qs4XTu}%j@d!;fcjzU|$FSI?4%%{*1?B+WWio zNR{>j$a^m!Qb?)+jh#Oq7%gUD1dncXb-(H7xRU2Ew=MKqzv&1nyJz{|uMDu?B)^wh zuSNrjy-UsKi0dth%W{J~O%r51p$ztp=03ejXLenf>a9i}y0+!^KJgc;h_L@TFv$>< zn|H3=bsW~$-4|H3$nOm~`HDhgL6_XF8n2x9{(Y)^4C|7PuwNt(KWDF?We*Q;bnjlc zDbbDHscBfa{vPxgGMiR9Vh1?wqkFgqd7661>$j(Q&!6v+kO?je`3&NBnMNAWy{&#X zY4^Q1Z;X}i9U@EkOhJDez`u-}gy~f9+q1=@yFFYe3=3mQZLFg#6V<{(T}LZ=$Y_Q7 zTNf&*{LG_!LNy!+xO-ExNq9>@VsxLbZu?hQbey+2i0^NVx~4`;PTND#0+ncU(04A4 zJUc16+*?th{`ozY;Y#>PAco$aDO7x0KgxzZigo1enESJhCGn0>k`Mo8s+3mT8q98p# zJlHknb}xbB&hXI z!49(i;mh5VULxuA!jTjJfmD2)-1ewRKj*^j~ICJubg^x@}ozIz5{Y?xiuQCviG1 zz!6*hiI&YO#5Yqs=G=>IJm&5AWw$i#KH_PvEY@HwK{pSr4dQBr*RF-TZ%Bq&p9zQZ z^bu9~8qm!Ca<%@9cKoujfYR(EiTY@ILM$k3JEre0{xcTFS3gDktK4FGrB4X9?E&Qb zQVPyqMcC+YecN|gdLJC*t6%qr-PZ#XYvoE=5hFRYpq@&2dhG+!SSV|BaW%on6rtA- z;iutF(c~yv+Ecl>z8JrpgAR6%7dPrK>I#@9A@?-<@8kfM!G|OlH@}M~0br5*pCoS$ z3fk`)CJyfM>BJfS$kC)kno-&s@}l0}{9q#A&JsXstFxzr>@5C$rVVZD4xN>q)@iV0 zWEf;`jRJ^z|Ij9g8nVN6^Vw2Qv#e>WX4DsyUZO4&vk^QLILdOEIC0UX`>7~8Ja3+f zFpy?gtX=d%#+U%HZ8o-8jD2Ejy_fXmqQ9UlWu?^(O|h3r3oYjR%U-5FzWt9 zO9R%=Qwhzp0D)^N#-szyYyvIZcH7sV_e2=HIG7yIXx`!psyq(rYYoSYhFw-p3DVXi zeiUU;szTAv8$$*0cg@y2?INe=(ULY;7)_tDO2W$VGbz4OqS(`Rk&^ucS;Ug@(7qu zAU%}Vi>i)Y<=tqsO5+m6oYz3@`8IZr^%YAb3#^_?YmmeO%<>oK60DAm^*E%>Ml)B1 zvAx+5@y0}F?_=?1FCitipQI?* zww?VL+XS|r?X46cC`k6kTm8r!dVc<5k^}%j$J{E)T>X-)`S7$zBQY7#7uh6Fa;c*M;#+N5Ksl|B-^6d#PuY78MgU)} zEMzG}^Ff!|E}tMykd+^XRwW1B5<6Y42Oz;Nm(KX--#rkA4}GV>>twKdzX<_SWJO`! z`s`B8S1wi2zfDQw>)tFpzd94zILod&xbuu}ulG~#z1YBw7km8siW?Z5%@d-GC+*6z zud;BCdhhmGnQhnTaL?=b(gQncU9b`Hzy5I3?-PFmDSW6WOe>B*_B6a|}4$6oNIc_%S++O2&Z)th6!tO?d z#?UEU0Er<_L0~i4(|5jWNQdttS383nVnYrCEi4#&Q(OpK{$gqXi8*<(d{nvG49Wjq zdW!z7N-I44y-<-ayQZ0>20&aa<%)tXenqmr95qgh(o@q2P&`( zmFV{`woYfC7>VzTpD7 zznDU*OZk|{W56~msRQBSpGZ?#+QEw51Tv73A)~p76hEh)UiawQo*m!kchFLn`fh~m zpCYNVB^`wubG@zQn73HbEDuS&lS5IpxCd`rIV?Km|>VHu@7^>!Zp7P9~H0Yj1IXYz6#7k>9d!;GK|m z%&%qFy!@v16iL;7W*j}3JbZi_ zZKxi_ZLO-KT7LX32M?gwVIDoYM6G1MeVY2qa!b#xI6QLSv%IgnM>OzAVD|Hg^WQsKgS05PLym+N#Ja zRTOx}0UnS3Ai?%~*0Z>Eo0EvosOby<^Z#&)q+cKU6^v~?hXVrP$Na4Y0Qi12&)3fb zK&V}gY;oemOlwwnr{MOQ(CQEF$Fqc@j;dtrbgVW8>mYSw2uyjsg2OUFKBAv#KS+Ks z5eL#q>1uJCjAQcJ!PGGMYC`J~w3P6@fi2JTQBb-hK4);x;%&ncO$*I6?`+qul=*Q# zYz?dGn}+G;gOw{f7xu<`uLArz#|#T7RyH9zv>L{ROb{8qT(bEb&NonYwV$?P&R8(f z%+JpAnCf03gj`ey&m#$W!P1D`JV7CZtOFT>zUR+d8&_}_{U1fYEJaexY*nyIxghbb=z0X5-BS*Ct*X;jZs-J;bslWl6B4Dkl3IhR<}ZP8%^6GwA#4(;mV zKN&}`y*krc^(Aw>ogfmRFUp4V$I+?Rkv&(!@RfW?mP^wtMe1^thHhqc_xPd>FDQ!L z<7B~%l?k-)X~MB z;SS7iFU)eF_{?YjUJ*ikzKJc1aii_l9=V~lv?d5#va(yV7aqHil7+J_<+uvPk)M6W z(h*5|O0p^1Q6La7Xb5m1d)6~f(#6{S1lJFMvpug6bbkFCSghgJO+yEYIgqVwbhG&^ z#v3&!&E?pkFiInyNqqGRY5Yn@3X*#d$QB!erR|Ulz~mn*J*n;Jo8&6cP?LX-@o5D6OtWTfaT^XX{)<6I`*ce3jvzBe_)wIeQ-l}^cz?v3g zI|EJMZ@07oQsP&?1GaB!x@%Rh$sIfIt5Q~}WoG{9XcI>Pk;zlvn|tWgEY;gB>FJh@ zdM^t?G5_<9y=V(V|4gAC%ErNksf>quWqIVNG!(O$~l(&{>ycy99-91 z+{2EoNP6%vHiUL$*8%0tA;9#$1$;G-;7e2qw5!piRyEKixfDHzF0hHD4^B#li_7wb zV9Dl#vWm?TDrn!iadC26DeZy7rxCO}A;3X{Y()h?`m2g|4%vhL_c;tJl?_LkKp>q1 z(4?}i8FlR~!JXYDSb&R7(r;(7&H!T09=K|V4B-<9{{V&k7n{bzPjU|4U=1XNP_#^!|kXCD2S75f~?^OJk*SDd$EMA94?sJMg?(}5a;>Vpud1MbE? zm6yJzbIx$NBZG1X+72YRD6v*l#ESA}$cFcg?I(*S?4QMihs7snn_CXKLTofpihaOn z2y1R(q6MytM3-CC-g;B7izk#QXnyriEYhi;R)SYSu;a{gY?KOu&zSXK|KK$3`CUDC zpHbuJ^+hO6GLU%Wb1=NNT5*fA3U_nYep%T$sQmyUi?U8AKFZ+~4D@RzZ&8ynhNM=+TmE z9c}UC4HRykTdOk+;Ph_?o}IPECN_}~aA6BQ6~P@0$$A(0AUgu2q<*t5 zNw$#`>87hd^BT_gVHg`Iae)6=AbpVG^yhz4l)ueFthGb}GC$Ii@)j~2Xq)LJg{Cc* z03P~*RU~Q8BmMznNw)W5u)bxuH8&Ua+lAJB^E{da%geX5y~VgN;T&yOp*sP91LX#C zzY14vz6gk8{Pav3Vn61{KbCa?>4MnC9Q|5E91p|MwYXAgxOp3#@&Y7-yHNV;uKuSx zfN)dl$$YYSoUn>%YNGu4(pYyaGqC|4DGqO{#^!gv@CYsnR|$$UO1BVd?qfG zxV~>>fH8+95%T$#Uw%*?&>Av@gIC1@uoBTvTL$|MpJmIxxD~FKw?ow98L+nE@XWqW z&i&0ZjL-fBlx>n(`1^NPTaBoQ>RIi-o*cwu^}{;F&>_T^s`Qf~FMZ9@+T{vBl<%l? zgyd*#KKex;+4JK$hax|~$Sk{`S?qtR5zkGcTC)Y~c30o&E5}jGgz>IcA##;`T3+C1xGx3BFwjUTI9I0xxi;3!#osqd5?1?;vp*F^F&=1 zVB~eOnYKdm+xlI0)5~UMKjp{4fSYH5mg_4<0Q0G-C55BJEk_H(3Fc}sbXC*ZqJC5- zK^A$mM>Fa=zt)Rv#w>Jx-n}KYb+F!B5?*yX_}t*D29;x>npA{lQ?f9%Ab2>8z#;vk z7b-THNHoRuZA>Y0G%OJpefySW8#krM@<$po_=E_nb{A`Q14$Zg!s z8L`r!N34`bw2t4%e5q|b{8PuJ`0xNOIyehWk>M6^nCZOL(&>VlWbf=uQ2Pf|y)bX8 z;<*Wuv3gjOk~Yd_g_TB8!$7S!8KcqqE~&$_ssdBk;N-p+`SvWq=E<@QQTeE#iSB$L zz-0kEf7HUBp^p7VvoJu57kBtf?1f)7lO+5uysGuc-{Dosf39P^-x`Yc{v;JmvQ;<$ zI3jjIE#${%N8d~4HG#ws1?D)Z`v$9z8u}0vvm$?~+=-dc>b%X9@m4cYWE3|O@uK<* z}d2ewcBBD)Nt&9u> zu0ri$c;wDWUy4&=R!Vq#UPRyDJnsxxJoA-jN<;&d4zseaq*o8F&c7qzK%7bdl{Nm5 z0ADLJSpQ-BZ?b0zYpMWd*qmdP>#GeJeOUe+j>Rb*PC6zU*s=UA{fECkKa=IfS{!T{ zV*hNFk!e6V%g45jU;rs47E8yE62MdH*fWi=(h)A!Nz5gjg=Urnr< z3e7hV;!D`~G+{>WC+l8>QjRfLoCZqg*jRPoyPY)1$2r5w9$|r;;p3cOg22VoVsq8o zZMd5A3rBIu5XH1jHwPK4pFecgDfk306aXp!nSRbg3O>2H(Q#=fL#&&d1K801HL~l6 ztrS*AIj7ga?FzEFl$CjpBZr5r;VWd{C;3>pH%JP*052GTC&xCdq&t2@0&aG z7${ZCftWf&`(85_X%}NBiOUnK6{`tkhrDOs(dO;$-#m8a9`hM9CGHtN^?Js5 z9qs%#cC%UP{cA!#Zv)Tk*VMwy)naNkzK9Ba<=;=7=GRK-vY6Gx(7)X9|B!fXil2p{ zB@Bsx!qS33mFlqEVw8~L#D&{~+n&|d9FcIc_`qg|s-W>^@nu1ZnaWMva0;C7ZJQ>F z1ZYOUNdN^uYlVUMB0-(v&vPfhUXq7}Fu{qJ>=xsp1yVP&Nm15&h_5u^@ps<;kc1W| z)^XhI;NiGZZd}0Dic>)!6q_3#2*W}n{BZr?$JG@HH!6Y=#}Z7w>7p%! z&qktSVHEQ6B8iI@Xp+PRk6?X$j+a99ecX54G?<(N37Dh^kRBd#Xodv21dk`B6FHgx zeV)bdFK|GN;XZGc<(FNcD@uwI?b#)hV zYv{RZka+F6RVwg_R`c=>N*L9(Y$0uyzi;zrQMQDVQp~;!5-wA`uh2h>kgEG?G?g~SbDF0&dNuCV51Sl;2Hyxd@LhuKyQoFyviOaix*V{#a0U4|cPzbT9tAm%(@bvIpC(>)f z)Jkoud5gT2myV8<_J=vz;mMJm61+S5cpuhfkW2ce>Zxoub@9nk!a~9PHAzDv7s%E!aKCP&gZCbFAeF@uIY`n8mO_4*(%o0*?IwZ?j$%b>(qSh3*wa6|11*> zZ7u{wk>ZK&+Q6~-!>Dj<&jF9|Catu_Sj~hvB`!T??}(*S9%i%bme1N%I`4@=gWzE) z6w&g0kMO+EX3+$j!L^~f1p+UHbQtapr22EPA7`h3qx?_<^OS1l;vkUo1MzjkLqBq= zA)H(HazUTVk1yikQ2`^5iDX@TB`p7?k9>=RpI{}J02kqFw~|M{zuL7jf0b4It% zN;3#_s1MWkDUDGiRr>EBCm)b1`)6==WGA){5RmF1#27U$>yc2SU_n?kp!L8a-otxf zxe-_w}6P&lZE~bx0zp(&qEA-*DAdwUHc;)jzrykslMC#72#Y)&nHg$L1NFYwF=V z&is*p4G28vfI;;LL;$MyQ{28M)&%&x*t_0m`tn2J1wx6%tx+vxt{pCtCcnGLW&Uki zkwQ;Rl4I|E+K$wDs{Gn!-N*DvSuf%GUYJ)D{2D^?{PLU_E4h*2^+i!KHsi;GDo)@gc02&lpk48-^UXW-D@Jb& zqT>`$}U~cz@v3OKPEG+WW2rz>PQCB#;_C)Rg2h zuN>sW0J6Y>>ss6nGA3&$T^97wq=V(yPMrnQqDpGuvPoho?y z0;{Fddxd)Sf9pg&ZoKjMUrSfk0^(S)hc8$8)o2B{XkhMF(;h5T%3+L=_sq-UWPqRe zbm9Rrwm`9L3|q7GyF10U^4+GYAP#RKI$J+O^ImoodeT;h{Q|8z?(%Hd(p{>%H;J?(X>Fnd2vO>_@U>&+Nv0j z13?imiST@)NI+w~lY0qW5+T3&g}r7gc5QiXXl+-Ql~h2#2?SEgCQVD$okT^I;`*x# z+-A4|YwcEWw(a*$Q(KGy?%bCu0_iQ#J-^nZU+>+8q*M=i|1MW?a> zZ+M6si9(23>T#2vUz`4Q+4lzxi5Fk(SoI;u5R(PCwsini=oCfsi$YR}g8@A^Sc~XB zk@%*Eu<40s4RhdtEl{#VXlag^eRZHxv&gBZ%rW4{b@B6gLhZWU!uh5mxRe0XH+j_| zEFTxgrGzY?KkwGNA!+J#NqoBsv__$kO~cRLzjX>Ig8 z$Ftpl;8oPY8@_TX1bDs~;A|1@Cg}zw&`+U2Ymq@z)izL_z;3v Date: Tue, 14 Jun 2022 22:25:13 +0800 Subject: [PATCH 33/63] vault backup: 2022-06-14 22:25:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md attachments/20220614220342_oh-my-posh_result.png attachments/20220614221618_oh-my-posh_setting.png --- .obsidian/workspace | 2 +- .../Tool Setup/Windows Terminal.md | 6 +++++- ...png => 20220614220342_oh-my-posh_result.png} | Bin .../20220614221618_oh-my-posh_setting.png | Bin 0 -> 83760 bytes 4 files changed, 6 insertions(+), 2 deletions(-) rename attachments/{Pasted image 20220614220342.png => 20220614220342_oh-my-posh_result.png} (100%) create mode 100644 attachments/20220614221618_oh-my-posh_setting.png diff --git a/.obsidian/workspace b/.obsidian/workspace index 7582df3..6c9ac99 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", - "mode": "preview", + "mode": "source", "source": true } } diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index 0317f32..809e5e3 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -156,6 +156,7 @@ unset THEME ``` ## oh-my-posh on bash +以下步驟都是在 [Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701) 中的 Git bash[^1] 執行。 1. 先下載一個你喜歡的theme: [https://ohmyposh.dev/docs/themes](https://ohmyposh.dev/docs/themes) 2. 下載並安裝字型:[Caskaydia Cove Nerd Font](https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CascadiaCode.zip?WT.mc_id=-blog-scottha) 3. Install OhMyPosh: `winget install JanDeDobbeleer.OhMyPosh` @@ -163,8 +164,11 @@ unset THEME `eval "$(oh-my-posh --init --shell bash --config ~/OneDrive/appConfigs/ohmyposh/themes/montys.omp.json)"` 注意最後的 `montys.omp.json` 就是第一步下載的theme,這邊要改成你自己的路徑。 5. 修改 Windows Terminal 的 setting.json,將字型改為 `CaskaydiaCove NF` + ![[20220614221618_oh-my-posh_setting.png|600]] 6. 成果 - ![[Pasted image 20220614220342.png|600]] + ![[20220614220342_oh-my-posh_result.png|600]] + +[^1]: 設定 可以參考:[Windows Terminal's 設定 Git Bash 和 SSH @ 傑克! 真是太神奇了! :: 痞客邦 ::](https://magicjackting.pixnet.net/blog/post/225162505-windows-terminal's-%E8%A8%AD%E5%AE%9A-git-bash-%E5%92%8C-ssh) ## Reference - [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/) diff --git a/attachments/Pasted image 20220614220342.png b/attachments/20220614220342_oh-my-posh_result.png similarity index 100% rename from attachments/Pasted image 20220614220342.png rename to attachments/20220614220342_oh-my-posh_result.png diff --git a/attachments/20220614221618_oh-my-posh_setting.png b/attachments/20220614221618_oh-my-posh_setting.png new file mode 100644 index 0000000000000000000000000000000000000000..f986b79fa88ab25fcae6b1f582142dbe695c57a3 GIT binary patch literal 83760 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 Date: Tue, 14 Jun 2022 22:35:13 +0800 Subject: [PATCH 34/63] vault backup: 2022-06-14 22:35:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md --- 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index 809e5e3..eafe22c 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -168,7 +168,7 @@ unset THEME 6. 成果 ![[20220614220342_oh-my-posh_result.png|600]] -[^1]: 設定 可以參考:[Windows Terminal's 設定 Git Bash 和 SSH @ 傑克! 真是太神奇了! :: 痞客邦 ::](https://magicjackting.pixnet.net/blog/post/225162505-windows-terminal's-%E8%A8%AD%E5%AE%9A-git-bash-%E5%92%8C-ssh) +[^1]: 在 [Windows Terminal](https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701) 中設定 Git bash 可以參考:[Windows Terminal's 設定 Git Bash 和 SSH @ 傑克! 真是太神奇了! :: 痞客邦 ::](https://magicjackting.pixnet.net/blog/post/225162505-windows-terminal's-%E8%A8%AD%E5%AE%9A-git-bash-%E5%92%8C-ssh) ## Reference - [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/) From ad2fb9e3ae99a37d55d7facd770dbce930bb1024 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 22:45:13 +0800 Subject: [PATCH 35/63] vault backup: 2022-06-14 22:45:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md --- .../03. Resources(資源)/Tool Setup/Windows Terminal.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index eafe22c..96ccb65 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -107,8 +107,11 @@ unset THEME "commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l", "icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico", "startingDirectory" : "D:\\GoogleDrive\\codes", - "fontFace" : "Fira Code", - "fontSize" : 11, + "font": + { + "face": "CaskaydiaCove NF", + "size": 12 + }, "historySize" : 9000, }, ] From 0cead78bb5b5982a89127fe7aa48f0b05c8dec49 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 14 Jun 2022 22:55:13 +0800 Subject: [PATCH 36/63] vault backup: 2022-06-14 22:55:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md --- 02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md index 96ccb65..b0d0ff6 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md @@ -175,3 +175,7 @@ unset THEME ## Reference - [Windows Terminal 美化 for WSL 2 Ubuntu (zsh + zim + powerlevel10k)](http://www.kenming.idv.tw/windows-terminal-%e7%be%8e%e5%8c%96-for-wsl-2-ubuntu-zsh-zim-powerlevel10k/) +- [Oh My Posh](https://ohmyposh.dev/) +- [How to make the ultimate Terminal Prompt on Windows 11 - This video is LONG and WORDY and DETAILED - YouTube](https://www.youtube.com/watch?v=VT2L1SXFq9U) +- [My Ultimate PowerShell prompt with Oh My Posh and the Windows Terminal - Scott Hanselman's Blog](https://www.hanselman.com/blog/my-ultimate-powershell-prompt-with-oh-my-posh-and-the-windows-terminal) +- [Windows-Terminal配置OhMyPosh来美化GitBash_偕臧x的博客-CSDN博客](https://blog.csdn.net/qq_33154343/article/details/120661945) From 6aa9bfcda3ac2af7ec13a712c8a0afbc867eb73e Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 09:39:02 +0800 Subject: [PATCH 37/63] vault backup: 2022-06-15 09:39:02 Affected files: .obsidian/workspace 00. TOP/01. TODO.md --- .obsidian/workspace | 12 ++++++------ 00. TOP/01. TODO.md | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 6c9ac99..e5584ab 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", + "file": "00. TOP/01. TODO.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md" + "file": "00. TOP/01. TODO.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "00. TOP/01. TODO.md", + "02. PARA/03. Resources(資源)/docker.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "00. TOP/00. Inbox.md", - "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/01. Project(專案)/005. TestCam.md", "attachments/2018-10-06_01.jpg", "02. PARA/03. Resources(資源)/C++17/lambda.md", "02. PARA/03. Resources(資源)/C++17/C++17.md", - "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md", - "02. PARA/03. Resources(資源)/C++17/以值擷取(captured.md" + "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md" ] } \ No newline at end of file diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index c7dde58..8e53737 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -1,7 +1,7 @@ # ME - [x] 作筆記:C++17 - share_ptr ✅ 2022-06-06 - [x] 作筆記:C++17 - R value reference與std::move ✅ 2022-06-09 -- [ ] 作筆記:C++17 - Lambda +- [x] 作筆記:C++17 - Lambda ✅ 2022-06-15 - [ ] 補充英格蘭與蘇格蘭的歷史 - [ ] 把RxKotlin讀完 @@ -14,6 +14,8 @@ - [x] 在測試項目的主欄位上顯示resolution, format, fps 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 - [x] 在測試項目的主欄位上顯示test time 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 - [x] test config 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 + - [ ] Remove log file, only keep err file. 🛫 2022-06-14 📅 2022-06-17 + - [ ] 在 image 上加一個「另開視窗」的link 🛫 2022-06-14 📅 2022-06-17 - TestAllFormatsVTF - [x] 在測試細項表格上顯示詳細說明 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-07 - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 From b2fb64309ae2148f3c23553cbc852057eab57735 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 09:49:02 +0800 Subject: [PATCH 38/63] vault backup: 2022-06-15 09:49:02 Affected files: 00. TOP/01. TODO.md --- 00. TOP/01. TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index 8e53737..ce5cee5 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -20,6 +20,8 @@ - [x] 在測試細項表格上顯示詳細說明 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-07 - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [x] List max fps of all resolution of all format on side bar of section 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 + - [ ] Show all items if user tests "all fps" 🛫 2022-06-14 📅 2022-06-17 + - [ ] Pass的標準應該是「」 - TestGpsDiff - [x] List all format 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-10 From 6657e026a4eab7c5df1cc9ae9b950dfde7b18fd6 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 10:29:02 +0800 Subject: [PATCH 39/63] vault backup: 2022-06-15 10:29:02 Affected files: 00. TOP/01. TODO.md --- 00. TOP/01. TODO.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index ce5cee5..625f332 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -21,9 +21,17 @@ - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [x] List max fps of all resolution of all format on side bar of section 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [ ] Show all items if user tests "all fps" 🛫 2022-06-14 📅 2022-06-17 - - [ ] Pass的標準應該是「」 + - [ ] Pass的標準應該是「FrameRateIsNotZero」,而不是「有preview就好」 🛫 2022-06-14 📅 2022-06-17 - TestGpsDiff - [x] List all format 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-10 +- 3A test(AWB, AE, AF) + - [ ] Support parallel test 🛫 2022-06-14 📅 2022-06-24 + - AWB + - [ ] Test "auto" ability 🛫 2022-06-14 📅 2022-06-24 + - AE + - [ ] Test "auto" ability 🛫 2022-06-14 📅 2022-06-24 + - AF + - [ ] Test "auto" ability 🛫 2022-06-14 📅 2022-06-24 # All TODOs ```tasks From 795083ed2fb6f450ca2885dfdea35a6520324696 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 14:17:11 +0800 Subject: [PATCH 40/63] vault backup: 2022-06-15 14:17:11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md --- .obsidian/workspace | 10 +++++----- .../03. Resources(資源)/Tool Setup/Windows Setup.md | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index e5584ab..b9d3ebe 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/01. TODO.md" + "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md" } } } @@ -116,6 +116,7 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/docker.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", @@ -124,7 +125,6 @@ "02. PARA/01. Project(專案)/005. TestCam.md", "attachments/2018-10-06_01.jpg", "02. PARA/03. Resources(資源)/C++17/lambda.md", - "02. PARA/03. Resources(資源)/C++17/C++17.md", - "02. PARA/03. Resources(資源)/C++17/以值擷取(captured-by-value).md" + "02. PARA/03. Resources(資源)/C++17/C++17.md" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md b/02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md index 2511705..232ebfd 100644 --- a/02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md +++ b/02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md @@ -9,7 +9,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManage ``` 2. 用安裝常用的工具 ``` -choco install 7zip adobereader vscode hxd sublimetext4 microsoft-windows-terminal androidstudio intellijidea-community git winmerge freefilesync freedownloadmanager gsudo firacode cascadiacode sourcecodepro --yes +choco install 7zip adobereader vscode hxd sublimetext4 microsoft-windows-terminal androidstudio intellijidea-community git winmerge freefilesync freedownloadmanager gsudo firacode cascadiacode sourcecodepro delta --yes ``` 列表: @@ -29,6 +29,7 @@ choco install 7zip adobereader vscode hxd sublimetext4 microsoft-windows-termina - [firacode](https://community.chocolatey.org/packages/FiraCode) - [cascadiacode](https://community.chocolatey.org/packages/cascadiacode) - [sourcecodepro](https://community.chocolatey.org/packages/SourceCodePro) +- [delta](https://community.chocolatey.org/packages/delta) 移除: - [TeraCopy](https://chocolatey.org/packages/TeraCopy) From 54e007e0504bb6d2b5091c47720f78a4469077ac Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 14:27:11 +0800 Subject: [PATCH 41/63] vault backup: 2022-06-15 14:27:11 Affected files: .obsidian/workspace --- .obsidian/workspace | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index b9d3ebe..4d233d8 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", + "file": "00. TOP/01. TODO.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md" + "file": "00. TOP/01. TODO.md" } } } @@ -116,8 +116,8 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ - "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "00. TOP/01. TODO.md", + "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/docker.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "00. TOP/00. Inbox.md", From 9c9d8b1d451bb85a46e571451316524ba48fb7ad Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 15 Jun 2022 14:37:11 +0800 Subject: [PATCH 42/63] vault backup: 2022-06-15 14:37:11 Affected files: .obsidian/workspace 00. TOP/01. TODO.md --- .obsidian/workspace | 2 +- 00. TOP/01. TODO.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 4d233d8..34fcf97 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "source", + "mode": "preview", "source": true } } diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index 625f332..e545229 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -14,14 +14,14 @@ - [x] 在測試項目的主欄位上顯示resolution, format, fps 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 - [x] 在測試項目的主欄位上顯示test time 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 - [x] test config 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-09 - - [ ] Remove log file, only keep err file. 🛫 2022-06-14 📅 2022-06-17 - - [ ] 在 image 上加一個「另開視窗」的link 🛫 2022-06-14 📅 2022-06-17 + - [x] Remove log file, only keep err file. 🛫 2022-06-14 📅 2022-06-17 ✅ 2022-06-15 + - [x] 在 image 上加一個「另開視窗」的link 🛫 2022-06-14 📅 2022-06-17 ✅ 2022-06-15 - TestAllFormatsVTF - [x] 在測試細項表格上顯示詳細說明 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-07 - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [x] List max fps of all resolution of all format on side bar of section 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [ ] Show all items if user tests "all fps" 🛫 2022-06-14 📅 2022-06-17 - - [ ] Pass的標準應該是「FrameRateIsNotZero」,而不是「有preview就好」 🛫 2022-06-14 📅 2022-06-17 + - [x] Pass的標準應該是「FrameRateIsNotZero」,而不是「有preview就好」 🛫 2022-06-14 📅 2022-06-17 ✅ 2022-06-15 - TestGpsDiff - [x] List all format 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-10 - 3A test(AWB, AE, AF) From 4f42eea294763ca2e3647d2d8fa8472a4d00bcaf Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Thu, 16 Jun 2022 22:00:35 +0800 Subject: [PATCH 43/63] vault backup: 2022-06-16 22:00:35 Affected files: .obsidian/workspace --- .obsidian/workspace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 34fcf97..4d233d8 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "preview", + "mode": "source", "source": true } } From 1764dd10d557b6be634dd1c1d6bb35f239b77c03 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Thu, 16 Jun 2022 22:10:32 +0800 Subject: [PATCH 44/63] vault backup: 2022-06-16 22:10:31 Affected files: .obsidian/workspace --- .obsidian/workspace | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 4d233d8..b5a243a 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/01. TODO.md" + "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/00. Informations/Datas.md", + "02. PARA/03. Resources(資源)/00. Informations/Logitech.md", + "02. PARA/03. Resources(資源)/00. Informations/核芯達.md", "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/docker.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "00. TOP/00. Inbox.md", "02. PARA/03. Resources(資源)/Design Pattern.md", - "02. PARA/01. Project(專案)/005. TestCam.md", - "attachments/2018-10-06_01.jpg", - "02. PARA/03. Resources(資源)/C++17/lambda.md", - "02. PARA/03. Resources(資源)/C++17/C++17.md" + "02. PARA/01. Project(專案)/005. TestCam.md" ] } \ No newline at end of file From d3c3c2a3b61182c2108f5e98f53e9ddbbf7c9316 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 19 Jun 2022 23:28:17 +0800 Subject: [PATCH 45/63] vault backup: 2022-06-19 23:28:17 Affected files: .obsidian/workspace --- .obsidian/workspace | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index b5a243a..b0817d6 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md", + "file": "00. TOP/01. TODO.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md", + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/00. Informations/Datas.md" + "file": "00. TOP/01. TODO.md" } } } @@ -116,11 +116,11 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "00. TOP/01. TODO.md", + "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "02. PARA/03. Resources(資源)/00. Informations/Logitech.md", "02. PARA/03. Resources(資源)/00. Informations/核芯達.md", - "00. TOP/01. TODO.md", - "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/docker.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", "00. TOP/00. Inbox.md", From c6b2135a7c6b2797067d505654bc9bd5db379622 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 19 Jun 2022 23:38:13 +0800 Subject: [PATCH 46/63] vault backup: 2022-06-19 23:38:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 01. Daily/2022/年度目標.md 02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md --- .obsidian/workspace | 16 ++++++++-------- 01. Daily/2022/年度目標.md | 2 +- .../讀書筆記/20220619 - 精確的力量.md | 11 +++++++++++ 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md diff --git a/.obsidian/workspace b/.obsidian/workspace index b0817d6..0bd83cc 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", "mode": "source", "source": true } @@ -40,7 +40,7 @@ "state": { "type": "search", "state": { - "query": "", + "query": "精確", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/01. TODO.md" + "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", + "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", "00. TOP/01. TODO.md", + "01. Daily/2022/年度目標.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "02. PARA/03. Resources(資源)/00. Informations/Logitech.md", "02. PARA/03. Resources(資源)/00. Informations/核芯達.md", "02. PARA/03. Resources(資源)/docker.md", - "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md", - "00. TOP/00. Inbox.md", - "02. PARA/03. Resources(資源)/Design Pattern.md", - "02. PARA/01. Project(專案)/005. TestCam.md" + "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md" ] } \ No newline at end of file diff --git a/01. Daily/2022/年度目標.md b/01. Daily/2022/年度目標.md index 5c21218..27abd82 100644 --- a/01. Daily/2022/年度目標.md +++ b/01. Daily/2022/年度目標.md @@ -13,7 +13,7 @@ - [x] [奪橋遺恨](https://www.books.com.tw/products/0010039381) ✅ 2022-01-03 - [x] [海上霸權](https://www.books.com.tw/products/0010910935?sloc=main)) ✅ 2022-01-26 - [x] [被發明的昨日](https://www.books.com.tw/products/0010890348) 🛫 2022-01-26 📅 2022-06-01 ✅ 2022-06-01 - - [ ] [精確的力量](https://www.books.com.tw/products/0010839555) 🛫 2022-06-01 📅 2022-06-15 + - [x] [精確的力量](https://www.books.com.tw/products/0010839555) 🛫 2022-06-01 📅 2022-06-15 ✅ 2022-06-19 - [ ] [普遍鼎立的世界](https://www.books.com.tw/products/0010900399) 🛫 2022-06-16 📅 2022-06-30 - 讀6本專業書 - [x] [C++17](https://www.books.com.tw/products/0010844594) (2021/12/15-2022/06/01) 🛫 2021-12-15 📅 2022-06-01 ✅ 2022-06-01 diff --git a/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md new file mode 100644 index 0000000..1113719 --- /dev/null +++ b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md @@ -0,0 +1,11 @@ +書名: +日期:2022-06-19(週日) +Link: + +# 筆記 +作者從精度最不要求的部份開始說,從大英帝國對於帆船滑輪的需求開始說起,然後槍枝、汽車、鏡片,最後不可避免的講到了IC的製程。然而我覺得最有意思的是蒸汽機與 + +# 心得 + + +# TODO \ No newline at end of file From 64dcb75c0ac79bba4f2107611a49bbef66c5ba04 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 19 Jun 2022 23:48:13 +0800 Subject: [PATCH 47/63] vault backup: 2022-06-19 23:48:13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md --- .../讀書筆記/20220619 - 精確的力量.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md index 1113719..2a4fd07 100644 --- a/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md +++ b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md @@ -3,7 +3,12 @@ Link: # 筆記 -作者從精度最不要求的部份開始說,從大英帝國對於帆船滑輪的需求開始說起,然後槍枝、汽車、鏡片,最後不可避免的講到了IC的製程。然而我覺得最有意思的是蒸汽機與 +作者從精度最不要求的部份開始說,從大英帝國對於帆船滑輪的需求開始說起,然後槍枝、汽車、鏡片,最後不可避免的講到了IC的製程。然而我覺得最有意思的是蒸汽機與哈伯望遠鏡。 +雖然一直知道瓦特發明了蒸汽機進而引發工業革命,也進一步改變了世界,但讓蒸氣機能夠穩定運作且能夠實用化的關鍵原因是威爾金森的活塞工藝,威爾金森在製造加農砲時所發明的加工挖孔技術適時的幫上了瓦特的忙,才讓蒸汽機的效率能夠實用化。 + +再來是哈伯望遠鏡的初期失敗是源自於鏡片製造商的失誤,而鏡片製造商的失敗又來自於多個失誤的累積,這些失誤都不是一下子造成的,而是一個一個慢慢累積的,這讓我又再次感覺到生活上培養習慣的重要性,壞習慣的積累往往也是讓某個失誤在某個時間爆發的原因,只是累積的時間太長,讓我們又無法一次看到事情發生的根本,而又讓相同的錯誤一再發生。 + +再來,叢書中所寫的各個精密製造的發展過程,可以看到近日我們習以為常的產品、標準,其實都是由很多優秀、天才的人貢獻、累積而來的, # 心得 From db162ed734eb7c27027ba19852c5b739a354a21e Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 20 Jun 2022 18:45:29 +0800 Subject: [PATCH 48/63] vault backup: 2022-06-20 18:45:29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md --- .obsidian/workspace | 14 +++++++------- .../讀書筆記/20220619 - 精確的力量.md | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 0bd83cc..f8b2bae 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", + "file": "00. TOP/01. TODO.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md" + "file": "00. TOP/01. TODO.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ - "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", - "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", "00. TOP/01. TODO.md", + "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", + "02. PARA/03. Resources(資源)/讀書筆記/20210723 - 高手學習.md", + "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", "01. Daily/2022/年度目標.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "02. PARA/03. Resources(資源)/00. Informations/Logitech.md", "02. PARA/03. Resources(資源)/00. Informations/核芯達.md", - "02. PARA/03. Resources(資源)/docker.md", - "02. PARA/03. Resources(資源)/Tool Setup/Windows Terminal.md" + "02. PARA/03. Resources(資源)/docker.md" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md index 2a4fd07..eca526c 100644 --- a/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md +++ b/02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md @@ -1,16 +1,16 @@ 書名: 日期:2022-06-19(週日) -Link: +Link:[精確的力量](https://www.books.com.tw/products/0010839555) # 筆記 + + +# 心得 作者從精度最不要求的部份開始說,從大英帝國對於帆船滑輪的需求開始說起,然後槍枝、汽車、鏡片,最後不可避免的講到了IC的製程。然而我覺得最有意思的是蒸汽機與哈伯望遠鏡。 雖然一直知道瓦特發明了蒸汽機進而引發工業革命,也進一步改變了世界,但讓蒸氣機能夠穩定運作且能夠實用化的關鍵原因是威爾金森的活塞工藝,威爾金森在製造加農砲時所發明的加工挖孔技術適時的幫上了瓦特的忙,才讓蒸汽機的效率能夠實用化。 再來是哈伯望遠鏡的初期失敗是源自於鏡片製造商的失誤,而鏡片製造商的失敗又來自於多個失誤的累積,這些失誤都不是一下子造成的,而是一個一個慢慢累積的,這讓我又再次感覺到生活上培養習慣的重要性,壞習慣的積累往往也是讓某個失誤在某個時間爆發的原因,只是累積的時間太長,讓我們又無法一次看到事情發生的根本,而又讓相同的錯誤一再發生。 -再來,叢書中所寫的各個精密製造的發展過程,可以看到近日我們習以為常的產品、標準,其實都是由很多優秀、天才的人貢獻、累積而來的, - -# 心得 - +再來,從書中所寫的各個精密製造的發展過程,可以看到近日我們習以為常的產品、標準,其實都是由很多優秀、天才的人貢獻、累積而來的,沒有什麼橫空出世的天才,憑一人之力改變世界這種事。每個人都是站在前人的肩膀上,一步一步的改進而來,扎實的研究與實作才是最重要的。 # TODO \ No newline at end of file From 81b4684d04c2ad18acd021c0028a348c5c2f5e5c Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Mon, 20 Jun 2022 18:55:25 +0800 Subject: [PATCH 49/63] vault backup: 2022-06-20 18:55:25 Affected files: 00. TOP/01. TODO.md --- 00. TOP/01. TODO.md | 1 + 1 file changed, 1 insertion(+) diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index e545229..9f8907b 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -4,6 +4,7 @@ - [x] 作筆記:C++17 - Lambda ✅ 2022-06-15 - [ ] 補充英格蘭與蘇格蘭的歷史 - [ ] 把RxKotlin讀完 +- [ ] [Branchless C++](https://www.youtube.com/watch?v=g-WPhYREFjk) 🛫 2022-06-20 📅 2022-07-04 # WORK ## Logitech From 517a8429a81c09123a6f9fb6f06d8c2997169d49 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:05:49 +0800 Subject: [PATCH 50/63] vault backup: 2022-06-21 16:05:48 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: .obsidian/workspace 02. PARA/03. Resources(資源)/Design Pattern.md --- .obsidian/workspace | 12 ++++++------ 02. PARA/03. Resources(資源)/Design Pattern.md | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index f8b2bae..0b2fc29 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Design Pattern.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "00. TOP/01. TODO.md", + "file": "02. PARA/03. Resources(資源)/Design Pattern.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "00. TOP/01. TODO.md" + "file": "02. PARA/03. Resources(資源)/Design Pattern.md" } } } @@ -116,15 +116,15 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "02. PARA/03. Resources(資源)/Design Pattern.md", + "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", "02. PARA/03. Resources(資源)/讀書筆記/20210723 - 高手學習.md", - "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", "01. Daily/2022/年度目標.md", "02. PARA/03. Resources(資源)/Tool Setup/Windows Setup.md", "02. PARA/03. Resources(資源)/00. Informations/Datas.md", "02. PARA/03. Resources(資源)/00. Informations/Logitech.md", - "02. PARA/03. Resources(資源)/00. Informations/核芯達.md", - "02. PARA/03. Resources(資源)/docker.md" + "02. PARA/03. Resources(資源)/00. Informations/核芯達.md" ] } \ No newline at end of file diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index 7ff1f3b..df078f9 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -142,3 +142,6 @@ detach() 用來移除用戶,也可以叫做 unregister()、remove() 之類。 notify()則是當發生變化時,用來通知所有觀察者的實作。 觀察者方面必須實作 update() 才能收到通知。 + +## 裝飾者模式(Decorator Pattern) +由「裝飾者」 \ No newline at end of file From 4527580a0deb1ceaf8b663cbea50b60a57084971 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:15:49 +0800 Subject: [PATCH 51/63] vault backup: 2022-06-21 16:15:48 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- .../03. Resources(資源)/Design Pattern.md | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index df078f9..f9b5a62 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -144,4 +144,34 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 觀察者方面必須實作 update() 才能收到通知。 ## 裝飾者模式(Decorator Pattern) -由「裝飾者」 \ No newline at end of file +「裝飾者」通常與「被裝飾者」有同樣的界面,「裝飾者」會取代「被裝飾者」的界面,進而改變「被裝飾者」的行為。 +裝飾者模式讓物件可以動態的改變行為,進為符合不同的需求。 +以書上的例子來說,我們多種飲料,每種飲料都可以加上不同的配料。例如,有奶茶、綠茶、紅茶3種飲料,另外有珍珠、紅豆、綠豆、仙草4種配料,我們要如何設計出適合的類別來讓每種飲料都可以隨寄的搭配配料呢? + +假設這樣寫: +- !!!col + - 1 + + +````col + +```cpp +Ingredients +class BeverageMilkTea { ... }; +class BeverageGreenTea { ... }; +class BeverageBlackTea { + +} +``` + + +```cpp +class BeverageMilkTea { ... }; +class BeverageGreenTea { ... }; +class BeverageBlackTea { + +} +``` + +```` + From 2abf3ae24ae8a845afa660940ab61d96499f9c87 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:25:49 +0800 Subject: [PATCH 52/63] vault backup: 2022-06-21 16:25:48 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- .../03. Resources(資源)/Design Pattern.md | 53 +++++++++++++------ 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index f9b5a62..c822e15 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -151,27 +151,46 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 假設這樣寫: - !!!col - 1 - + ### Ingredient class + ```cpp + class IngredientBubble { ... }; + class IngredientRedbean { ... }; + class IngredientGreenbean { ... }; + class IngredientFairyGrass { ... }; + ``` -````col - + - 2 + ### Beverage class + ```cpp + class BeverageMilkTea { ... }; + class BeverageGreenTea { ... }; + class BeverageBlackTea { + IngredientBubble* bubble; + IngredientRedbean* redbean; + IngredientGreenbean* greenbean; + IngredientFairyGrass* fairyGrass; + } + ``` + +每個飲料的class裡面都將每個配料定義為一個member,如果客人有加配料的話,我們就將配料實例化,假設奶茶加了珍珠: ```cpp -Ingredients -class BeverageMilkTea { ... }; -class BeverageGreenTea { ... }; class BeverageBlackTea { - -} + void addBubble() { + if (!bubble) bubble = new IngredientBubble(); + } +}; ``` - +要算價格的時候: ```cpp -class BeverageMilkTea { ... }; -class BeverageGreenTea { ... }; class BeverageBlackTea { - -} -``` - -```` - + void cost() { + if (bubble) cost += 10; + if (redbean) cost += 10; + if (greenbean) cost += 10; + if (fairyGrass) cost += 10; + } +private: + int32_t cost = 30; // 奶茶本身10元 +}; +``` \ No newline at end of file From 5f86679158c13bd5636bb73d6cdb669d63ab85c1 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:36:00 +0800 Subject: [PATCH 53/63] vault backup: 2022-06-21 16:36:00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- .../03. Resources(資源)/Design Pattern.md | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index c822e15..3845fed 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -162,6 +162,11 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 - 2 ### Beverage class ```cpp + class Beverage { + int32_t cost() { return cost; } + int32_t cost; + } + class BeverageMilkTea { ... }; class BeverageGreenTea { ... }; class BeverageBlackTea { @@ -184,13 +189,15 @@ class BeverageBlackTea { 要算價格的時候: ```cpp class BeverageBlackTea { - void cost() { - if (bubble) cost += 10; - if (redbean) cost += 10; - if (greenbean) cost += 10; - if (fairyGrass) cost += 10; + int32_t cost() { + if (bubble) cost += 10; // 珍珠要加10元 + if (redbean) cost += 5; // 紅豆要加10元 + if (greenbean) cost += 7; // 綠豆要加10元 + if (fairyGrass) cost += 9; // 珍珠要加10元 + return cost; } -private: int32_t cost = 30; // 奶茶本身10元 }; -``` \ No newline at end of file +``` + +這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個function,addXXX()與cost(),目前我們有3種飲料,所以要修改6個function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 \ No newline at end of file From 2ebac4af16f834f2663e10bf19fe82157cd41b96 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:46:00 +0800 Subject: [PATCH 54/63] vault backup: 2022-06-21 16:46:00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- 02. PARA/03. Resources(資源)/Design Pattern.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index 3845fed..ffb04b5 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -200,4 +200,8 @@ class BeverageBlackTea { }; ``` -這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個function,addXXX()與cost(),目前我們有3種飲料,所以要修改6個function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 \ No newline at end of file +這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個function,addXXX()與cost(),目前我們有3種飲料,所以要修改6個function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 + +讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面,但是修改一下配料的constructor: +```c[] +``` \ No newline at end of file From 7e083574b4b4121c665bdf4031cf7aa72999862e Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 16:56:00 +0800 Subject: [PATCH 55/63] vault backup: 2022-06-21 16:56:00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- .../03. Resources(資源)/Design Pattern.md | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index ffb04b5..12d3820 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -167,9 +167,9 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 int32_t cost; } - class BeverageMilkTea { ... }; - class BeverageGreenTea { ... }; - class BeverageBlackTea { + class BeverageMilkTea : public Beverage { ... }; + class BeverageGreenTea : public Beverage { ... }; + class BeverageBlackTea : public Beverage { IngredientBubble* bubble; IngredientRedbean* redbean; IngredientGreenbean* greenbean; @@ -202,6 +202,35 @@ class BeverageBlackTea { 這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個function,addXXX()與cost(),目前我們有3種飲料,所以要修改6個function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 -讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面,但是修改一下配料的constructor: -```c[] -``` \ No newline at end of file +讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面,但是修改一下配料的 constructor,當然也要實作cost(),畢竟每個配料的價格不同: +```cpp +class IngredientBubble : public Beverage { + IngredientBubble(Beverage* beverage) { + this->beverage = beverage; + } + + int32_t cost() { + return 10 + this->beverage->cost(); // 珍珠要加10元,在加上原本飲料的價錢 + } + + Beverage* beverage; +}; +``` + +珍珠這個class的 constructor 的參數是任何一個 Beverage,現在飲料被包在珍珠裡面,由珍珠來決定飲料最後的價格是多少。現在我們可以動態的決定飲料的組成,假設點一杯紅茶: +```cpp +int main() { + ... + + // 這裡就先不考慮memory leak的問題...>_< + BeverageBlackTea* berverge = new BeverageBlackTea(); // 點一杯紅茶 + IngredientBubble* berverge = new IngredientBubble(berverge); // 加珍珠 + IngredientRedbean* berverge = new IngredientRedbean(berverge); // 加紅豆 + IngredientFairyGrass* berverge = new IngredientFairyGrass(berverge); // 加仙草 + + ... + + return berverge->cost(); // 算價錢 +} +``` + From 3b5e2312ee6281fc43596bf0af7d51318c0139da Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 17:06:00 +0800 Subject: [PATCH 56/63] vault backup: 2022-06-21 17:06:00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- 02. PARA/03. Resources(資源)/Design Pattern.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index 12d3820..a4f429a 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -149,9 +149,10 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 以書上的例子來說,我們多種飲料,每種飲料都可以加上不同的配料。例如,有奶茶、綠茶、紅茶3種飲料,另外有珍珠、紅豆、綠豆、仙草4種配料,我們要如何設計出適合的類別來讓每種飲料都可以隨寄的搭配配料呢? 假設這樣寫: + - !!!col - 1 - ### Ingredient class + Ingredient class ```cpp class IngredientBubble { ... }; class IngredientRedbean { ... }; @@ -159,8 +160,8 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 class IngredientFairyGrass { ... }; ``` - - 2 - ### Beverage class + - 1 + Beverage class ```cpp class Beverage { int32_t cost() { return cost; } @@ -217,12 +218,12 @@ class IngredientBubble : public Beverage { }; ``` -珍珠這個class的 constructor 的參數是任何一個 Beverage,現在飲料被包在珍珠裡面,由珍珠來決定飲料最後的價格是多少。現在我們可以動態的決定飲料的組成,假設點一杯紅茶: +珍珠這個class的 constructor 的參數是任何一個 Beverage,現在飲料被包在珍珠裡面,由珍珠來決定飲料最後的價格是多少。現在我們可以動態的決定飲料的組成,假設點一杯紅茶,加一些配料: ```cpp int main() { ... - // 這裡就先不考慮memory leak的問題...>_< + // 為了讓程式看起來簡單,這裡就先不考慮memory leak的問題...>_< BeverageBlackTea* berverge = new BeverageBlackTea(); // 點一杯紅茶 IngredientBubble* berverge = new IngredientBubble(berverge); // 加珍珠 IngredientRedbean* berverge = new IngredientRedbean(berverge); // 加紅豆 @@ -234,3 +235,8 @@ int main() { } ``` +可以看到第一個變數是飲料,然後被包珍珠裡面,變成珍珠紅茶,再被包到紅豆裡面,變成紅豆珍珠紅茶,再被包到仙草裡面,變成仙草紅豆珍珠紅茶,到這樣的好處是: +1. 有新的配料就寫新配料的 class +2. 因為可以動態的組合,原本寫好的飲料class就不用在去動它了,愈少修改,愈少 bug +3. 我們可以動態的組合配料,要加2份以上也沒有問題 + From 4fb413fc247a08b62c56e52ae590d417c86fcf83 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Tue, 21 Jun 2022 17:16:00 +0800 Subject: [PATCH 57/63] vault backup: 2022-06-21 17:16:00 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affected files: 02. PARA/03. Resources(資源)/Design Pattern.md --- 02. PARA/03. Resources(資源)/Design Pattern.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/02. PARA/03. Resources(資源)/Design Pattern.md b/02. PARA/03. Resources(資源)/Design Pattern.md index a4f429a..d33c3f1 100644 --- a/02. PARA/03. Resources(資源)/Design Pattern.md +++ b/02. PARA/03. Resources(資源)/Design Pattern.md @@ -149,10 +149,9 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 以書上的例子來說,我們多種飲料,每種飲料都可以加上不同的配料。例如,有奶茶、綠茶、紅茶3種飲料,另外有珍珠、紅豆、綠豆、仙草4種配料,我們要如何設計出適合的類別來讓每種飲料都可以隨寄的搭配配料呢? 假設這樣寫: - - !!!col - 1 - Ingredient class + ### Ingredient class ```cpp class IngredientBubble { ... }; class IngredientRedbean { ... }; @@ -161,7 +160,7 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 ``` - 1 - Beverage class + ### Beverage class ```cpp class Beverage { int32_t cost() { return cost; } @@ -178,7 +177,7 @@ notify()則是當發生變化時,用來通知所有觀察者的實作。 } ``` -每個飲料的class裡面都將每個配料定義為一個member,如果客人有加配料的話,我們就將配料實例化,假設奶茶加了珍珠: +每個飲料的class裡面都將每個配料定義為一個 member,如果客人有加配料的話,我們就將配料實例化,假設奶茶加了珍珠: ```cpp class BeverageBlackTea { void addBubble() { @@ -201,9 +200,9 @@ class BeverageBlackTea { }; ``` -這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個function,addXXX()與cost(),目前我們有3種飲料,所以要修改6個function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 +這樣的問題是,每當有一種新配料出現,我們就要在奶茶類別裡修改至少2個 function:`addXXX()` 與 `cost()`,目前我們有3種飲料,所以要修改6個 function,更何況,如果客人要加2份珍珠怎麼辦?這明顯不利程式的維護,必須有一種方法讓程式的修改最小,讓寫好的程式不用被修改才行。 -讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面,但是修改一下配料的 constructor,當然也要實作cost(),畢竟每個配料的價格不同: +讓裝飾者模式來改善這個問題。首先讓配料跟飲料有同樣的界面,但是修改一下配料的 constructor,當然也要實作 `cost()`,畢竟每個配料的價格不同: ```cpp class IngredientBubble : public Beverage { IngredientBubble(Beverage* beverage) { @@ -218,7 +217,7 @@ class IngredientBubble : public Beverage { }; ``` -珍珠這個class的 constructor 的參數是任何一個 Beverage,現在飲料被包在珍珠裡面,由珍珠來決定飲料最後的價格是多少。現在我們可以動態的決定飲料的組成,假設點一杯紅茶,加一些配料: +珍珠這個 class 的 constructor 的參數是任何一個 Beverage,現在飲料被包在珍珠裡面,由珍珠來決定飲料最後的價格是多少。現在我們可以動態的決定飲料的組成,假設點一杯紅茶,加一些配料: ```cpp int main() { ... @@ -237,6 +236,5 @@ int main() { 可以看到第一個變數是飲料,然後被包珍珠裡面,變成珍珠紅茶,再被包到紅豆裡面,變成紅豆珍珠紅茶,再被包到仙草裡面,變成仙草紅豆珍珠紅茶,到這樣的好處是: 1. 有新的配料就寫新配料的 class -2. 因為可以動態的組合,原本寫好的飲料class就不用在去動它了,愈少修改,愈少 bug +2. 因為可以動態的組合,原本寫好的飲料 class 就不用在去動它了,愈少修改,愈少 bug 3. 我們可以動態的組合配料,要加2份以上也沒有問題 - From d07ca887f3f524d0ff39c79ff4ebfc74dc8a31b5 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 22 Jun 2022 15:04:22 +0800 Subject: [PATCH 58/63] vault backup: 2022-06-22 15:04:22 Affected files: .obsidian/workspace --- .obsidian/workspace | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index 0b2fc29..bd16791 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -9,7 +9,7 @@ "state": { "type": "markdown", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md", + "file": "00. TOP/01. TODO.md", "mode": "source", "source": true } @@ -69,7 +69,7 @@ "state": { "type": "backlink", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md", + "file": "00. TOP/01. TODO.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -86,7 +86,7 @@ "state": { "type": "outline", "state": { - "file": "02. PARA/03. Resources(資源)/Design Pattern.md" + "file": "00. TOP/01. TODO.md" } } } @@ -116,9 +116,9 @@ }, "active": "cfe19fa2de06a1e6", "lastOpenFiles": [ + "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/Design Pattern.md", "02. PARA/03. Resources(資源)/讀書筆記/20220526 - 深入淺出設計模式.md", - "00. TOP/01. TODO.md", "02. PARA/03. Resources(資源)/讀書筆記/20220619 - 精確的力量.md", "02. PARA/03. Resources(資源)/讀書筆記/20210723 - 高手學習.md", "01. Daily/2022/年度目標.md", From a7dd849e7e72905ae10c25816a8cd3d5a248a8bd Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 22 Jun 2022 15:14:20 +0800 Subject: [PATCH 59/63] vault backup: 2022-06-22 15:14:20 Affected files: .obsidian/workspace 00. TOP/01. TODO.md --- .obsidian/workspace | 2 +- 00. TOP/01. TODO.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index bd16791..b0cc801 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "source", + "mode": "preview", "source": true } } diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index 9f8907b..f112a0e 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -33,6 +33,8 @@ - [ ] Test "auto" ability 🛫 2022-06-14 📅 2022-06-24 - AF - [ ] Test "auto" ability 🛫 2022-06-14 📅 2022-06-24 +- Tiny + - [ ] Add HDMI test 🛫 2022-06-17 📅 2022-06-24 # All TODOs ```tasks From a51ccc65e4f1557c0b3372b944fe2bc7ed9e1200 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Wed, 22 Jun 2022 23:13:31 +0800 Subject: [PATCH 60/63] vault backup: 2022-06-22 23:13:31 Affected files: .obsidian/workspace --- .obsidian/workspace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index b0cc801..bd16791 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "preview", + "mode": "source", "source": true } } From d2a02f5aa460cf5e6ff866b3cb9431c5ccd0e820 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Fri, 24 Jun 2022 11:41:28 +0800 Subject: [PATCH 61/63] vault backup: 2022-06-24 11:41:27 Affected files: 00. TOP/01. TODO.md --- 00. TOP/01. TODO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index f112a0e..5c39ad4 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -5,6 +5,8 @@ - [ ] 補充英格蘭與蘇格蘭的歷史 - [ ] 把RxKotlin讀完 - [ ] [Branchless C++](https://www.youtube.com/watch?v=g-WPhYREFjk) 🛫 2022-06-20 📅 2022-07-04 +- [ ] C++ 完美轉發? 🛫 2022-06-22 + - [潮.C++11 | Perfect Forwarding std::forward 完美轉發你的需求](https://tjsw.medium.com/%E6%BD%AE-c-11-perfect-forwarding-%E5%AE%8C%E7%BE%8E%E8%BD%89%E7%99%BC%E4%BD%A0%E7%9A%84%E9%9C%80%E6%B1%82-%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90-f991830bcd84) # WORK ## Logitech From 0c321e36092e5114a1ce599e50538e24b6ccc875 Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Fri, 24 Jun 2022 11:51:24 +0800 Subject: [PATCH 62/63] vault backup: 2022-06-24 11:51:24 Affected files: 00. TOP/01. TODO.md --- 00. TOP/01. TODO.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/00. TOP/01. TODO.md b/00. TOP/01. TODO.md index 5c39ad4..6df28d0 100644 --- a/00. TOP/01. TODO.md +++ b/00. TOP/01. TODO.md @@ -23,10 +23,13 @@ - [x] 在測試細項表格上顯示詳細說明 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-07 - [x] Show "VideoFormats: "MaxFpsMaxResolutionOnly" to outside, let user understand the test purpose. 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - [x] List max fps of all resolution of all format on side bar of section 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-08 - - [ ] Show all items if user tests "all fps" 🛫 2022-06-14 📅 2022-06-17 + - [x] Show all items if user tests "all fps" 🛫 2022-06-14 📅 2022-06-17 ✅ 2022-06-24 - [x] Pass的標準應該是「FrameRateIsNotZero」,而不是「有preview就好」 🛫 2022-06-14 📅 2022-06-17 ✅ 2022-06-15 - TestGpsDiff - [x] List all format 🛫 2022-06-06 📅 2022-06-10 ✅ 2022-06-10 + - MISC + - [ ] 請在測試報告的最前面,加入目前測試平台的資訊、電腦名稱,Windows 版本 🛫 2022-06-24 + - 例如: Station2,Windows 10, Version XXXX Station6,Windows 11, Version XXXX。因為最近Project team 有要求要提出幾個主要平台的測試結果。 我們目前的報告需要能看出在哪一個平台測試。 - 3A test(AWB, AE, AF) - [ ] Support parallel test 🛫 2022-06-14 📅 2022-06-24 - AWB From dc6b2f2454b3a60359efdf448e995b38cb7e0e7c Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Fri, 24 Jun 2022 13:35:01 +0800 Subject: [PATCH 63/63] vault backup: 2022-06-24 13:35:01 Affected files: .obsidian/workspace --- .obsidian/workspace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.obsidian/workspace b/.obsidian/workspace index bd16791..b0cc801 100644 --- a/.obsidian/workspace +++ b/.obsidian/workspace @@ -10,7 +10,7 @@ "type": "markdown", "state": { "file": "00. TOP/01. TODO.md", - "mode": "source", + "mode": "preview", "source": true } }