@deephaven/embed-widget 0.104.0 → 0.104.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/build/assets/{App-F_mON3FK.js → App-4vpkQsou.js} +2 -2
  2. package/build/assets/{App-F_mON3FK.js.map → App-4vpkQsou.js.map} +1 -1
  3. package/build/assets/{Chart-Csk7scf1.js → Chart-B1hWlm_R.js} +2 -2
  4. package/build/assets/{Chart-Csk7scf1.js.map → Chart-B1hWlm_R.js.map} +1 -1
  5. package/build/assets/IrisGrid-I8on6stx.js +5 -0
  6. package/build/assets/IrisGrid-I8on6stx.js.map +1 -0
  7. package/build/assets/IrisGridThemeProvider-LzUnneHI.js +12 -0
  8. package/build/assets/{IrisGridThemeProvider-BpfrlVcM.js.map → IrisGridThemeProvider-LzUnneHI.js.map} +1 -1
  9. package/build/assets/{LocalWorkspaceStorage-C7WYje3-.js → LocalWorkspaceStorage-DQnZVeC9.js} +2 -2
  10. package/build/assets/{LocalWorkspaceStorage-C7WYje3-.js.map → LocalWorkspaceStorage-DQnZVeC9.js.map} +1 -1
  11. package/build/assets/LogPanel-CvJHjwQc.js +20 -0
  12. package/build/assets/LogPanel-CvJHjwQc.js.map +1 -0
  13. package/build/assets/{MarkdownEditor-BJiysIpJ.js → MarkdownEditor-BzUhVQd1.js} +2 -2
  14. package/build/assets/{MarkdownEditor-BJiysIpJ.js.map → MarkdownEditor-BzUhVQd1.js.map} +1 -1
  15. package/build/assets/{MarkdownNotebook-CLzgErYZ.js → MarkdownNotebook-Jzvsedv3.js} +2 -2
  16. package/build/assets/{MarkdownNotebook-CLzgErYZ.js.map → MarkdownNotebook-Jzvsedv3.js.map} +1 -1
  17. package/build/assets/{index-CPMA5mDh.js → index-7nKXaf2h.js} +5 -5
  18. package/build/assets/{index-CPMA5mDh.js.map → index-7nKXaf2h.js.map} +1 -1
  19. package/build/assets/{index-DLxFzVlY.js → index-CSRZrv_s.js} +3 -3
  20. package/build/assets/{index-DLxFzVlY.js.map → index-CSRZrv_s.js.map} +1 -1
  21. package/build/assets/{index-COIhCB94.js → index-DZ8FMh-D.js} +2 -2
  22. package/build/assets/{index-COIhCB94.js.map → index-DZ8FMh-D.js.map} +1 -1
  23. package/build/index.html +1 -1
  24. package/package.json +17 -17
  25. package/build/assets/IrisGrid-BJqBq6m8.js +0 -5
  26. package/build/assets/IrisGrid-BJqBq6m8.js.map +0 -1
  27. package/build/assets/IrisGridThemeProvider-BpfrlVcM.js +0 -11
  28. package/build/assets/LogPanel-DNkt0zwF.js +0 -20
  29. package/build/assets/LogPanel-DNkt0zwF.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{r as l,F as a,cc as u,cd as c,ce as m,K as s}from"./vendor-DaDwT7la.js";import{Q as f}from"./index-CPMA5mDh.js";import{bd as p}from"./LogPanel-DNkt0zwF.js";import"./helpers-BosuxZz1.js";import"./index-DLxFzVlY.js";function d(e,r,t){return r=g(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function g(e){var r=v(e,"string");return typeof r=="symbol"?r:String(r)}function v(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var h=e=>{var{children:r,inline:t,className:n}=e;if(t===!0)return a.jsx("code",{children:s.Children.map(r,i=>typeof i=="string"?i.trim():i)});var o=n!=null&&n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return a.jsx("pre",{children:a.jsx("code",{children:a.jsx(p,{language:o,children:s.Children.map(r,i=>typeof i=="string"?i.trim():i)})})})};class x extends l.PureComponent{constructor(r){super(r),d(this,"container",void 0),this.container=null}render(){var{isEditing:r,content:t,onEditorInitialized:n}=this.props;return a.jsx("div",{className:"markdown-editor-container",ref:o=>{this.container=o},children:r?a.jsx(f,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):a.jsx(u,{components:{code:h},remarkPlugins:[c],rehypePlugins:[m],children:t})})}}d(x,"defaultProps",{isEditing:!1,content:""});export{x as default};
2
- //# sourceMappingURL=MarkdownEditor-BJiysIpJ.js.map
1
+ import{r as l,F as a,cc as u,cd as c,ce as m,K as s}from"./vendor-DaDwT7la.js";import{Q as f}from"./index-7nKXaf2h.js";import{bd as p}from"./LogPanel-CvJHjwQc.js";import"./helpers-BosuxZz1.js";import"./index-CSRZrv_s.js";function d(e,r,t){return r=g(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function g(e){var r=v(e,"string");return typeof r=="symbol"?r:String(r)}function v(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var h=e=>{var{children:r,inline:t,className:n}=e;if(t===!0)return a.jsx("code",{children:s.Children.map(r,i=>typeof i=="string"?i.trim():i)});var o=n!=null&&n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return a.jsx("pre",{children:a.jsx("code",{children:a.jsx(p,{language:o,children:s.Children.map(r,i=>typeof i=="string"?i.trim():i)})})})};class x extends l.PureComponent{constructor(r){super(r),d(this,"container",void 0),this.container=null}render(){var{isEditing:r,content:t,onEditorInitialized:n}=this.props;return a.jsx("div",{className:"markdown-editor-container",ref:o=>{this.container=o},children:r?a.jsx(f,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):a.jsx(u,{components:{code:h},remarkPlugins:[c],rehypePlugins:[m],children:t})})}}d(x,"defaultProps",{isEditing:!1,content:""});export{x as default};
2
+ //# sourceMappingURL=MarkdownEditor-BzUhVQd1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor-BJiysIpJ.js","sources":["../../../dashboard-core-plugins/dist/controls/markdown/MarkdownEditor.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Code, Editor } from '@deephaven/console';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar renderMarkdown = props => {\n var {\n children,\n inline,\n className\n } = props;\n if (inline === true) {\n return /*#__PURE__*/_jsx(\"code\", {\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n });\n }\n var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n return /*#__PURE__*/_jsx(\"pre\", {\n children: /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })\n });\n};\nexport default class MarkdownEditor extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"container\", void 0);\n this.container = null;\n }\n render() {\n var {\n isEditing,\n content,\n onEditorInitialized\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-editor-container\",\n ref: container => {\n this.container = container;\n },\n children: isEditing ? /*#__PURE__*/_jsx(Editor, {\n settings: {\n language: 'markdown',\n value: content,\n lineNumbers: 'off'\n },\n onEditorInitialized: onEditorInitialized\n }) : /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: renderMarkdown\n },\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeMathjax],\n children: content\n })\n });\n }\n}\n_defineProperty(MarkdownEditor, \"defaultProps\", {\n isEditing: false,\n content: ''\n});\n//# sourceMappingURL=MarkdownEditor.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","renderMarkdown","props","children","inline","className","_jsx","React","child","language","Code","MarkdownEditor","PureComponent","isEditing","content","onEditorInitialized","container","Editor","Markdown","remarkMath","rehypeMathjax"],"mappings":"6NAAA,SAASA,EAAgBC,EAAKC,EAAKC,EAAO,CAAE,OAAAD,EAAME,EAAeF,CAAG,EAAOA,KAAOD,EAAO,OAAO,eAAeA,EAAKC,EAAK,CAAE,MAAOC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYF,EAAIC,CAAG,EAAIC,EAAgBF,CAAM,CAC5O,SAASG,EAAeC,EAAK,CAAE,IAAIH,EAAMI,EAAaD,EAAK,QAAQ,EAAG,OAAO,OAAOH,GAAQ,SAAWA,EAAM,OAAOA,CAAG,CAAI,CAC3H,SAASI,EAAaC,EAAOC,EAAM,CAAE,GAAI,OAAOD,GAAU,UAAYA,IAAU,KAAM,OAAOA,EAAO,IAAIE,EAAOF,EAAM,OAAO,WAAW,EAAG,GAAIE,IAAS,OAAW,CAAE,IAAIC,EAAMD,EAAK,KAAKF,EAAOC,GAAQ,SAAS,EAAG,GAAI,OAAOE,GAAQ,SAAU,OAAOA,EAAK,MAAM,IAAI,UAAU,8CAA8C,CAAI,CAAC,OAAQF,IAAS,SAAW,OAAS,QAAQD,CAAK,CAAI,CAOzX,IAAII,EAAiBC,GAAS,CAC5B,GAAI,CACF,SAAAC,EACA,OAAAC,EACA,UAAAC,CACD,EAAGH,EACJ,GAAIE,IAAW,GACb,OAAoBE,EAAAA,IAAK,OAAQ,CAC/B,SAAUC,EAAM,SAAS,IAAIJ,EAAUK,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACtG,CAAK,EAEH,IAAIC,EAAsCJ,GAAc,MAAQA,IAAc,QAAUA,EAAU,WAAW,WAAW,EAAIA,EAAU,UAAU,CAAC,EAAI,YACrJ,OAAoBC,EAAAA,IAAK,MAAO,CAC9B,SAAuBA,EAAI,IAAC,OAAQ,CAClC,SAAuBA,EAAI,IAACI,EAAM,CAChC,SAAUD,EACV,SAAUF,EAAM,SAAS,IAAIJ,EAAUK,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACxG,CAAO,CACP,CAAK,CACL,CAAG,CACH,EACe,MAAMG,UAAuBC,EAAAA,aAAc,CACxD,YAAYV,EAAO,CACjB,MAAMA,CAAK,EACXZ,EAAgB,KAAM,YAAa,MAAM,EACzC,KAAK,UAAY,IAClB,CACD,QAAS,CACP,GAAI,CACF,UAAAuB,EACA,QAAAC,EACA,oBAAAC,CACN,EAAQ,KAAK,MACT,OAAoBT,EAAAA,IAAK,MAAO,CAC9B,UAAW,4BACX,IAAKU,GAAa,CAChB,KAAK,UAAYA,CAClB,EACD,SAAUH,EAAyBP,EAAI,IAACW,EAAQ,CAC9C,SAAU,CACR,SAAU,WACV,MAAOH,EACP,YAAa,KACd,EACD,oBAAqBC,CAC7B,CAAO,EAAiBT,EAAI,IAACY,EAAU,CAC/B,WAAY,CACV,KAAMjB,CACP,EACD,cAAe,CAACkB,CAAU,EAC1B,cAAe,CAACC,CAAa,EAC7B,SAAUN,CAClB,CAAO,CACP,CAAK,CACF,CACH,CACAxB,EAAgBqB,EAAgB,eAAgB,CAC9C,UAAW,GACX,QAAS,EACX,CAAC"}
1
+ {"version":3,"file":"MarkdownEditor-BzUhVQd1.js","sources":["../../../dashboard-core-plugins/dist/controls/markdown/MarkdownEditor.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Code, Editor } from '@deephaven/console';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar renderMarkdown = props => {\n var {\n children,\n inline,\n className\n } = props;\n if (inline === true) {\n return /*#__PURE__*/_jsx(\"code\", {\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n });\n }\n var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n return /*#__PURE__*/_jsx(\"pre\", {\n children: /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })\n });\n};\nexport default class MarkdownEditor extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"container\", void 0);\n this.container = null;\n }\n render() {\n var {\n isEditing,\n content,\n onEditorInitialized\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-editor-container\",\n ref: container => {\n this.container = container;\n },\n children: isEditing ? /*#__PURE__*/_jsx(Editor, {\n settings: {\n language: 'markdown',\n value: content,\n lineNumbers: 'off'\n },\n onEditorInitialized: onEditorInitialized\n }) : /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: renderMarkdown\n },\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeMathjax],\n children: content\n })\n });\n }\n}\n_defineProperty(MarkdownEditor, \"defaultProps\", {\n isEditing: false,\n content: ''\n});\n//# sourceMappingURL=MarkdownEditor.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","renderMarkdown","props","children","inline","className","_jsx","React","child","language","Code","MarkdownEditor","PureComponent","isEditing","content","onEditorInitialized","container","Editor","Markdown","remarkMath","rehypeMathjax"],"mappings":"6NAAA,SAASA,EAAgBC,EAAKC,EAAKC,EAAO,CAAE,OAAAD,EAAME,EAAeF,CAAG,EAAOA,KAAOD,EAAO,OAAO,eAAeA,EAAKC,EAAK,CAAE,MAAOC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYF,EAAIC,CAAG,EAAIC,EAAgBF,CAAM,CAC5O,SAASG,EAAeC,EAAK,CAAE,IAAIH,EAAMI,EAAaD,EAAK,QAAQ,EAAG,OAAO,OAAOH,GAAQ,SAAWA,EAAM,OAAOA,CAAG,CAAI,CAC3H,SAASI,EAAaC,EAAOC,EAAM,CAAE,GAAI,OAAOD,GAAU,UAAYA,IAAU,KAAM,OAAOA,EAAO,IAAIE,EAAOF,EAAM,OAAO,WAAW,EAAG,GAAIE,IAAS,OAAW,CAAE,IAAIC,EAAMD,EAAK,KAAKF,EAAOC,GAAQ,SAAS,EAAG,GAAI,OAAOE,GAAQ,SAAU,OAAOA,EAAK,MAAM,IAAI,UAAU,8CAA8C,CAAI,CAAC,OAAQF,IAAS,SAAW,OAAS,QAAQD,CAAK,CAAI,CAOzX,IAAII,EAAiBC,GAAS,CAC5B,GAAI,CACF,SAAAC,EACA,OAAAC,EACA,UAAAC,CACD,EAAGH,EACJ,GAAIE,IAAW,GACb,OAAoBE,EAAAA,IAAK,OAAQ,CAC/B,SAAUC,EAAM,SAAS,IAAIJ,EAAUK,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACtG,CAAK,EAEH,IAAIC,EAAsCJ,GAAc,MAAQA,IAAc,QAAUA,EAAU,WAAW,WAAW,EAAIA,EAAU,UAAU,CAAC,EAAI,YACrJ,OAAoBC,EAAAA,IAAK,MAAO,CAC9B,SAAuBA,EAAI,IAAC,OAAQ,CAClC,SAAuBA,EAAI,IAACI,EAAM,CAChC,SAAUD,EACV,SAAUF,EAAM,SAAS,IAAIJ,EAAUK,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACxG,CAAO,CACP,CAAK,CACL,CAAG,CACH,EACe,MAAMG,UAAuBC,EAAAA,aAAc,CACxD,YAAYV,EAAO,CACjB,MAAMA,CAAK,EACXZ,EAAgB,KAAM,YAAa,MAAM,EACzC,KAAK,UAAY,IAClB,CACD,QAAS,CACP,GAAI,CACF,UAAAuB,EACA,QAAAC,EACA,oBAAAC,CACN,EAAQ,KAAK,MACT,OAAoBT,EAAAA,IAAK,MAAO,CAC9B,UAAW,4BACX,IAAKU,GAAa,CAChB,KAAK,UAAYA,CAClB,EACD,SAAUH,EAAyBP,EAAI,IAACW,EAAQ,CAC9C,SAAU,CACR,SAAU,WACV,MAAOH,EACP,YAAa,KACd,EACD,oBAAqBC,CAC7B,CAAO,EAAiBT,EAAI,IAACY,EAAU,CAC/B,WAAY,CACV,KAAMjB,CACP,EACD,cAAe,CAACkB,CAAU,EAC1B,cAAe,CAACC,CAAa,EAC7B,SAAUN,CAClB,CAAO,CACP,CAAK,CACF,CACH,CACAxB,EAAgBqB,EAAgB,eAAgB,CAC9C,UAAW,GACX,QAAS,EACX,CAAC"}
@@ -1,2 +1,2 @@
1
- import{r as L,K as g,F as a,I as C,cc as R,cf as w,cd as N,ce as j}from"./vendor-DaDwT7la.js";import{m as E,aj as S}from"./index-DLxFzVlY.js";import{B as b,bd as P}from"./LogPanel-DNkt0zwF.js";import"./helpers-BosuxZz1.js";function f(r,e,t){return e=I(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function I(r){var e=B(r,"string");return typeof e=="symbol"?e:String(e)}function B(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class M extends L.PureComponent{constructor(e){super(e),f(this,"commands",void 0),f(this,"codeElements",void 0),f(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=g.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(s=>s===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:s}=this.state,i=[...this.commands.keys()],d=i.findIndex(x=>x===s||s==null);if(!(d<0)){var l=i[d],p=this.commands.get(l),u=this.getNextStartLine(l),m=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=m==null||(n=m.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(o!=null){var c,{offsetTop:v}=o,k=v;(c=this.editorScrollView.current)===null||c===void 0||c.scroll({top:k,left:0})}this.runCode(p),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:s,node:i}=e,{hasRunCode:d,nextStartLine:l}=this.state,{children:p,position:u}=i;E(u);var{start:m}=u,{line:o}=m,c=p[0].value,v=g.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,y=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return s!=null&&s?a.jsx("code",{className:n,children:t}):(this.commands.set(o,c),this.codeElements.set(o,v),a.jsxs("div",{className:C("markdown-notebook-code-block",{"is-selected":x}),ref:v,onClick:()=>{this.setState({nextStartLine:o})},role:"presentation",children:[a.jsx(b,{kind:"ghost",icon:S,className:"btn-play-block",onClick:h=>{h.stopPropagation(),h.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),a.jsx("code",{children:a.jsx(P,{language:y,children:g.Children.map(t,h=>typeof h=="string"?h.trim():h)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:s,target:i}=e;return a.jsx("a",{href:n,onClick:t,target:i,children:s})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:s,hasRunCode:i,nextStartLine:d}=this.state;return a.jsxs("div",{className:"markdown-notebook",children:[a.jsx("div",{className:"markdown-notebook-toolbar",children:a.jsx(b,{className:C("btn-play-selected-cell",{flashing:s&&!i}),kind:"ghost",icon:S,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:i&&d==null||!s,children:"Run Selected Code"})}),a.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:a.jsx(R,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[j],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(M,"defaultProps",{onRunCode:()=>{}});export{M as MarkdownNotebook,M as default};
2
- //# sourceMappingURL=MarkdownNotebook-CLzgErYZ.js.map
1
+ import{r as L,K as g,F as a,I as C,cc as R,cf as w,cd as N,ce as j}from"./vendor-DaDwT7la.js";import{m as E,aj as S}from"./index-CSRZrv_s.js";import{B as b,bd as P}from"./LogPanel-CvJHjwQc.js";import"./helpers-BosuxZz1.js";function f(r,e,t){return e=I(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function I(r){var e=B(r,"string");return typeof e=="symbol"?e:String(e)}function B(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class M extends L.PureComponent{constructor(e){super(e),f(this,"commands",void 0),f(this,"codeElements",void 0),f(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=g.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(s=>s===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:s}=this.state,i=[...this.commands.keys()],d=i.findIndex(x=>x===s||s==null);if(!(d<0)){var l=i[d],p=this.commands.get(l),u=this.getNextStartLine(l),m=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=m==null||(n=m.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(o!=null){var c,{offsetTop:v}=o,k=v;(c=this.editorScrollView.current)===null||c===void 0||c.scroll({top:k,left:0})}this.runCode(p),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:s,node:i}=e,{hasRunCode:d,nextStartLine:l}=this.state,{children:p,position:u}=i;E(u);var{start:m}=u,{line:o}=m,c=p[0].value,v=g.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,y=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return s!=null&&s?a.jsx("code",{className:n,children:t}):(this.commands.set(o,c),this.codeElements.set(o,v),a.jsxs("div",{className:C("markdown-notebook-code-block",{"is-selected":x}),ref:v,onClick:()=>{this.setState({nextStartLine:o})},role:"presentation",children:[a.jsx(b,{kind:"ghost",icon:S,className:"btn-play-block",onClick:h=>{h.stopPropagation(),h.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),a.jsx("code",{children:a.jsx(P,{language:y,children:g.Children.map(t,h=>typeof h=="string"?h.trim():h)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:s,target:i}=e;return a.jsx("a",{href:n,onClick:t,target:i,children:s})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:s,hasRunCode:i,nextStartLine:d}=this.state;return a.jsxs("div",{className:"markdown-notebook",children:[a.jsx("div",{className:"markdown-notebook-toolbar",children:a.jsx(b,{className:C("btn-play-selected-cell",{flashing:s&&!i}),kind:"ghost",icon:S,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:i&&d==null||!s,children:"Run Selected Code"})}),a.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:a.jsx(R,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[j],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(M,"defaultProps",{onRunCode:()=>{}});export{M as MarkdownNotebook,M as default};
2
+ //# sourceMappingURL=MarkdownNotebook-Jzvsedv3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownNotebook-CLzgErYZ.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownNotebook-Jzvsedv3.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}