UNPKG

169 kBJavaScriptView Raw
1/*! bpmn-js - bpmn-viewer v8.8.2 | Copyright (c) 2014-present, camunda Services GmbH | bpmn.io/license */
2!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).BpmnJS=t()}(this,(function(){"use strict";var e={exports:{}};"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}};var t=e.exports,n=Object.prototype.toString,i=Object.prototype.hasOwnProperty;function r(e){return void 0!==e}function a(e){return"[object Array]"===n.call(e)}function o(e){return"[object Object]"===n.call(e)}function s(e){return"[object Number]"===n.call(e)}function l(e){var t=n.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t||"[object Proxy]"===t}function p(e){return"[object String]"===n.call(e)}function c(e,t){return i.call(e,t)}function u(e,t){var n;return t=function(e){return l(e)?e:function(t){return t===e}}(t),m(e,(function(e,i){if(t(e,i))return n=e,!1})),n}function h(e,t){var n=[];return m(e,(function(e,i){t(e,i)&&n.push(e)})),n}function m(e,t){var n;if(void 0!==e){var i=a(e)?v:g;for(var r in e)if(c(e,r)&&!1===t(n=e[r],i(r)))return n}}function f(e,t,n){return m(e,(function(e,i){n=t(n,e,i)})),n}function d(e,t){return!!f(e,(function(e,n,i){return e&&t(n,i)}),!0)}function y(e){return function(t){return d(e,(function(e,n){return t[n]===e}))}}function g(e){return e}function v(e){return Number(e)}function x(e,t){return e.bind(t)}function b(){return(b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}function w(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return b.apply(void 0,[e].concat(n))}function E(e,t){var n=this;t=t||1e3,e.on(["render.shape","render.connection"],t,(function(e,t){var i=e.type,r=t.element,a=t.gfx;if(n.canRender(r))return"render.shape"===i?n.drawShape(a,r):n.drawConnection(a,r)})),e.on(["render.getShapePath","render.getConnectionPath"],t,(function(e,t){if(n.canRender(t))return"render.getShapePath"===e.type?n.getShapePath(t):n.getConnectionPath(t)}))}function _(e,t){var n=A(e);return n&&"function"==typeof n.$instanceOf&&n.$instanceOf(t)}function A(e){return e&&e.businessObject||e}function S(e){return!_(e,"bpmn:CallActivity")&&(_(e,"bpmn:SubProcess")?A(e).di&&!!A(e).di.isExpanded:!_(e,"bpmn:Participant")||!!A(e).processRef)}function R(e){var t=e.businessObject,n=function(e){return _(e,"bpmn:FlowElement")||_(e,"bpmn:Participant")||_(e,"bpmn:Lane")||_(e,"bpmn:SequenceFlow")||_(e,"bpmn:MessageFlow")||_(e,"bpmn:DataInput")||_(e,"bpmn:DataOutput")?"name":_(e,"bpmn:TextAnnotation")?"text":_(e,"bpmn:Group")?"categoryValueRef":void 0}(t);if(n)return"categoryValueRef"===n?function(e){var t=e.categoryValueRef;return t&&t.value||""}(t):t[n]||""}function C(e,t){return t.appendChild(function(e,t){if(e.ownerDocument!==t.ownerDocument)try{return t.ownerDocument.importNode(e,!0)}catch(e){}return e}(e,t))}function M(e,t){return C(t,e),e}E.prototype.canRender=function(){},E.prototype.drawShape=function(){},E.prototype.drawConnection=function(){},E.prototype.getShapePath=function(){},E.prototype.getConnectionPath=function(){};var k={"alignment-baseline":1,"baseline-shift":1,clip:1,"clip-path":1,"clip-rule":1,color:1,"color-interpolation":1,"color-interpolation-filters":1,"color-profile":1,"color-rendering":1,cursor:1,direction:1,display:1,"dominant-baseline":1,"enable-background":1,fill:1,"fill-opacity":1,"fill-rule":1,filter:1,"flood-color":1,"flood-opacity":1,font:1,"font-family":1,"font-size":2,"font-size-adjust":1,"font-stretch":1,"font-style":1,"font-variant":1,"font-weight":1,"glyph-orientation-horizontal":1,"glyph-orientation-vertical":1,"image-rendering":1,kerning:1,"letter-spacing":1,"lighting-color":1,marker:1,"marker-end":1,"marker-mid":1,"marker-start":1,mask:1,opacity:1,overflow:1,"pointer-events":1,"shape-rendering":1,"stop-color":1,"stop-opacity":1,stroke:1,"stroke-dasharray":1,"stroke-dashoffset":1,"stroke-linecap":1,"stroke-linejoin":1,"stroke-miterlimit":1,"stroke-opacity":1,"stroke-width":2,"text-anchor":1,"text-decoration":1,"text-rendering":1,"unicode-bidi":1,visibility:1,"word-spacing":1,"writing-mode":1};function P(e,t,n){var i=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=k[i];r?(2===r&&"number"==typeof n&&(n=String(n)+"px"),e.style[i]=n):e.setAttributeNS(null,t,n)}function N(e,t,n){if("string"==typeof t){if(void 0===n)return function(e,t){return k[t]?e.style[t]:e.getAttributeNS(null,t)}(e,t);P(e,t,n)}else!function(e,t){var n,i,r=Object.keys(t);for(n=0;i=r[n];n++)P(e,i,t[i])}(e,t);return e}function T(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}var D=/\s+/,O=Object.prototype.toString;function B(e){return void 0!==e}function L(e){return new I(e)}function I(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function F(e){var t=e.parentNode;return t&&t.removeChild(e),e}I.prototype.add=function(e){if(this.list)return this.list.add(e),this;var t=this.array();return~T(t,e)||t.push(e),B(this.el.className.baseVal)?this.el.className.baseVal=t.join(" "):this.el.className=t.join(" "),this},I.prototype.remove=function(e){if("[object RegExp]"===O.call(e))return this.removeMatching(e);if(this.list)return this.list.remove(e),this;var t=this.array(),n=T(t,e);return~n&&t.splice(n,1),this.el.className.baseVal=t.join(" "),this},I.prototype.removeMatching=function(e){for(var t=this.array(),n=0;n<t.length;n++)e.test(t[n])&&this.remove(t[n]);return this},I.prototype.toggle=function(e,t){return this.list?(B(t)?t!==this.list.toggle(e,t)&&this.list.toggle(e):this.list.toggle(e),this):(B(t)?t?this.add(e):this.remove(e):this.has(e)?this.remove(e):this.add(e),this)},I.prototype.array=function(){var e=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(D);return""===e[0]&&e.shift(),e},I.prototype.has=I.prototype.contains=function(e){return this.list?this.list.contains(e):!!~T(this.array(),e)};var j="http://www.w3.org/2000/svg",V='<svg xmlns="'+j+'"';function W(e){var t=!1;"<svg"===e.substring(0,4)?-1===e.indexOf(j)&&(e=V+e.substring(4)):(e=V+">"+e+"</svg>",t=!0);var n=function(e){var t;return(t=new DOMParser).async=!1,t.parseFromString(e,"text/xml")}(e);if(!t)return n;for(var i=document.createDocumentFragment(),r=n.firstChild;r.firstChild;)i.appendChild(r.firstChild);return i}function z(e,t){var n;return"<"===e.charAt(0)?(n=W(e).firstChild,n=document.importNode(n,!0)):n=document.createElementNS(j,e),t&&N(n,t),n}var G=z("svg");function H(e,t){var n,i,r=Object.keys(t);for(n=0;i=r[n];n++)e[i]=t[i];return e}function $(e){return e?G.createSVGTransformFromMatrix(e):G.createSVGTransform()}var K=/([&<>]{1})/g,U=/([\n\r"]{1})/g,q={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"'"};function Y(e,t){return e.replace(t,(function(e,t){return q[t]||t}))}function X(e,t){var n,i,r,a,o;switch(e.nodeType){case 3:t.push(Y(e.textContent,K));break;case 1:if(t.push("<",e.tagName),e.hasAttributes())for(n=0,i=(r=e.attributes).length;n<i;++n)a=r.item(n),t.push(" ",a.name,'="',Y(a.value,U),'"');if(e.hasChildNodes()){for(t.push(">"),n=0,i=(o=e.childNodes).length;n<i;++n)X(o.item(n),t);t.push("</",e.tagName,">")}else t.push("/>");break;case 8:t.push("\x3c!--",Y(e.nodeValue,K),"--\x3e");break;case 4:t.push("<![CDATA[",e.nodeValue,"]]>");break;default:throw new Error("unable to handle node "+e.nodeType)}return t}function Z(e,t){var n=W(t);if(function(e){for(var t;t=e.firstChild;)F(t)}(e),t){(function(e){return"#document-fragment"===e.nodeName})(n)||(n=n.documentElement);for(var i,r=(i=n.childNodes,Array.prototype.slice.call(i)),a=0;a<r.length;a++)C(r[a],e)}}function J(e,t){if(void 0!==t){try{Z(e,t)}catch(e){throw new Error("error parsing SVG: "+e.message)}return e}return function(e){for(var t=e.firstChild,n=[];t;)X(t,n),t=t.nextSibling;return n.join("")}(e)}function Q(e,t){return t instanceof SVGMatrix?e.createSVGTransformFromMatrix(t):t}function ee(e,t){var n=e.transform.baseVal;return t&&(Array.isArray(t)||(t=[t]),function(e,t){var n,i;for(e.clear(),n=0;i=t[n];n++)e.appendItem(Q(e,i))}(n,t)),n.consolidate()}function te(e){return e.join(",").replace(/,?([A-z]),?/g,"$1")}function ne(e){for(var t,n="",i=0;t=e[i];i++)n+=t.x+","+t.y+" ";return n}function ie(e,t){var n=z("polyline");return N(n,{points:ne(e)}),t&&N(n,t),n}function re(e,t,n){return function(e,t){return!!u(e,t)}(e.eventDefinitions,(function(i){return i.$type===t&&function(e,t){return d(t,(function(t,n){return e[n]==t}))}(e,n)}))}function ae(e){return e.businessObject.di}function oe(e){return e.businessObject}function se(e,t){var n=ae(e);return n.get("color:background-color")||n.get("bioc:fill")||t||"white"}function le(e,t){var n=ae(e);return n.get("color:border-color")||n.get("bioc:stroke")||t||"black"}function pe(e,t,n){var i=ae(e).get("label");return i&&i.get("color:color")||t||le(e,n)}var ce=[].indexOf,ue=function(e,t){if(ce)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1},he=/\s+/,me=Object.prototype.toString;function fe(e){return new de(e)}function de(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function ye(e){for(var t;e.childNodes.length;)t=e.childNodes[0],e.removeChild(t);return e}de.prototype.add=function(e){if(this.list)return this.list.add(e),this;var t=this.array();return~ue(t,e)||t.push(e),this.el.className=t.join(" "),this},de.prototype.remove=function(e){if("[object RegExp]"==me.call(e))return this.removeMatching(e);if(this.list)return this.list.remove(e),this;var t=this.array(),n=ue(t,e);return~n&&t.splice(n,1),this.el.className=t.join(" "),this},de.prototype.removeMatching=function(e){for(var t=this.array(),n=0;n<t.length;n++)e.test(t[n])&&this.remove(t[n]);return this},de.prototype.toggle=function(e,t){return this.list?(void 0!==t?t!==this.list.toggle(e,t)&&this.list.toggle(e):this.list.toggle(e),this):(void 0!==t?t?this.add(e):this.remove(e):this.has(e)?this.remove(e):this.add(e),this)},de.prototype.array=function(){var e=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(he);return""===e[0]&&e.shift(),e},de.prototype.has=de.prototype.contains=function(e){return this.list?this.list.contains(e):!!~ue(this.array(),e)};var ge="undefined"!=typeof Element?Element.prototype:{},ve=ge.matches||ge.matchesSelector||ge.webkitMatchesSelector||ge.mozMatchesSelector||ge.msMatchesSelector||ge.oMatchesSelector,xe=function(e,t){if(!e||1!==e.nodeType)return!1;if(ve)return ve.call(e,t);for(var n=e.parentNode.querySelectorAll(t),i=0;i<n.length;i++)if(n[i]==e)return!0;return!1};var be=window.addEventListener?"addEventListener":"attachEvent",we=window.removeEventListener?"removeEventListener":"detachEvent",Ee="addEventListener"!==be?"on":"",_e=function(e,t,n,i){return e[be](Ee+t,n,i||!1),n},Ae=function(e,t,n,i){return e[we](Ee+t,n,i||!1),n},Se=["focus","blur"];var Re,Ce={bind:function(e,t,n,i,r){return-1!==Se.indexOf(n)&&(r=!0),_e(e,n,(function(n){var r=n.target||n.srcElement;n.delegateTarget=function(e,t,n){for(var i=n?e:e.parentNode;i&&i.nodeType!==document.DOCUMENT_NODE&&i.nodeType!==document.DOCUMENT_FRAGMENT_NODE;){if(xe(i,t))return i;i=i.parentNode}return xe(i,t)?i:null}(r,t,!0),n.delegateTarget&&i.call(e,n)}),r)},unbind:function(e,t,n,i){return-1!==Se.indexOf(t)&&(i=!0),Ae(e,t,n,i)}},Me=function(e,t){if("string"!=typeof e)throw new TypeError("String expected");t||(t=document);var n=/<([\w:]+)/.exec(e);if(!n)return t.createTextNode(e);e=e.replace(/^\s+|\s+$/g,"");var i=n[1];if("body"==i){return(r=t.createElement("html")).innerHTML=e,r.removeChild(r.lastChild)}var r,a=Pe[i]||Pe._default,o=a[0],s=a[1],l=a[2];(r=t.createElement("div")).innerHTML=s+e+l;for(;o--;)r=r.lastChild;if(r.firstChild==r.lastChild)return r.removeChild(r.firstChild);var p=t.createDocumentFragment();for(;r.firstChild;)p.appendChild(r.removeChild(r.firstChild));return p},ke=!1;"undefined"!=typeof document&&((Re=document.createElement("div")).innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>',ke=!Re.getElementsByTagName("link").length,Re=void 0);var Pe={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:ke?[1,"X<div>","</div>"]:[0,"",""]};function Ne(e,t){return(t=t||document).querySelector(e)}function Te(e){e.parentNode&&e.parentNode.removeChild(e)}function De(e,t,n,i,r){var a=$();a.setTranslate(t,n);var o=$();o.setRotate(i||0,0,0);var s=$();s.setScale(r||1,r||1),ee(e,[a,o,s])}function Oe(e,t,n){var i=$();i.setTranslate(t,n),ee(e,i)}Pe.td=Pe.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],Pe.option=Pe.optgroup=[1,'<select multiple="multiple">',"</select>"],Pe.thead=Pe.tbody=Pe.colgroup=Pe.caption=Pe.tfoot=[1,"<table>","</table>"],Pe.polyline=Pe.ellipse=Pe.polygon=Pe.circle=Pe.text=Pe.line=Pe.path=Pe.rect=Pe.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];var Be=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t=e.exports=function(e,n){if(n||(n=16),void 0===e&&(e=128),e<=0)return"0";for(var i=Math.log(Math.pow(2,e))/Math.log(n),r=2;i===1/0;r*=2)i=Math.log(Math.pow(2,e/r))/Math.log(n)*r;var a=i-Math.floor(i),o="";for(r=0;r<Math.floor(i);r++){o=Math.floor(Math.random()*n).toString(n)+o}if(a){var s=Math.pow(n,a);o=Math.floor(Math.random()*s).toString(n)+o}var l=parseInt(o,n);return l!==1/0&&l>=Math.pow(2,e)?t(e,n):o};t.rack=function(e,n,i){var r=function(r){var o=0;do{if(o++>10){if(!i)throw new Error("too many ID collisions, use more bits");e+=i}var s=t(e,n)}while(Object.hasOwnProperty.call(a,s));return a[s]=r,s},a=r.hats={};return r.get=function(e){return r.hats[e]},r.set=function(e,t){return r.hats[e]=t,r},r.bits=e||128,r.base=n||16,r}}));function Le(e){if(!(this instanceof Le))return new Le(e);e=e||[128,36,1],this._seed=e.length?Be.rack(e[0],e[1],e[2]):e}Le.prototype.next=function(e){return this._seed(e||!0)},Le.prototype.nextPrefixed=function(e,t){var n;do{n=e+this.next(!0)}while(this.assigned(n));return this.claim(n,t),n},Le.prototype.claim=function(e,t){this._seed.set(e,t||!0)},Le.prototype.assigned=function(e){return this._seed.get(e)||!1},Le.prototype.unclaim=function(e){delete this._seed.hats[e]},Le.prototype.clear=function(){var e,t=this._seed.hats;for(e in t)this.unclaim(e)};var Ie=new Le,Fe=.95;function je(e,t,n,i,r,a,s){E.call(this,t,s);var l=e&&e.defaultFillColor,p=e&&e.defaultStrokeColor,c=e&&e.defaultLabelColor,u=Ie.next(),h={},f=n.computeStyle;function d(e,t){var n=w({fill:"black",strokeWidth:1,strokeLinecap:"round",strokeDasharray:"none"},t.attrs),i=t.ref||{x:0,y:0},a=t.scale||1;"none"===n.strokeDasharray&&(n.strokeDasharray=[1e4,1]);var o=z("marker");N(t.element,n),M(o,t.element),N(o,{id:e,viewBox:"0 0 20 20",refX:i.x,refY:i.y,markerWidth:20*a,markerHeight:20*a,orient:"auto"});var s=Ne("defs",r._svg);s||(s=z("defs"),M(r._svg,s)),M(s,o),h[e]=o}function y(e){return e.replace(/[^0-9a-zA-z]+/g,"_")}function g(e,t,n){var i=e+"-"+y(t)+"-"+y(n)+"-"+u;return h[i]||function(e,t,n,i){if("sequenceflow-end"===t){var r=z("path");N(r,{d:"M 1 5 L 11 10 L 1 15 Z"}),d(e,{element:r,ref:{x:11,y:10},scale:.5,attrs:{fill:i,stroke:i}})}if("messageflow-start"===t){var a=z("circle");N(a,{cx:6,cy:6,r:3.5}),d(e,{element:a,attrs:{fill:n,stroke:i},ref:{x:6,y:6}})}if("messageflow-end"===t){var o=z("path");N(o,{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z"}),d(e,{element:o,attrs:{fill:n,stroke:i,strokeLinecap:"butt"},ref:{x:8.5,y:5}})}if("association-start"===t){var s=z("path");N(s,{d:"M 11 5 L 1 10 L 11 15"}),d(e,{element:s,attrs:{fill:"none",stroke:i,strokeWidth:1.5},ref:{x:1,y:10},scale:.5})}if("association-end"===t){var l=z("path");N(l,{d:"M 1 5 L 11 10 L 1 15"}),d(e,{element:l,attrs:{fill:"none",stroke:i,strokeWidth:1.5},ref:{x:12,y:10},scale:.5})}if("conditional-flow-marker"===t){var p=z("path");N(p,{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z"}),d(e,{element:p,attrs:{fill:n,stroke:i},ref:{x:-1,y:10},scale:.5})}if("conditional-default-flow-marker"===t){var c=z("path");N(c,{d:"M 6 4 L 10 16"}),d(e,{element:c,attrs:{stroke:i},ref:{x:0,y:10},scale:.5})}}(i,e,t,n),"url(#"+i+")"}function v(e,t,n,i,r){o(i)&&(r=i,i=0),i=i||0,"none"===(r=f(r,{stroke:"black",strokeWidth:2,fill:"white"})).fill&&delete r.fillOpacity;var a=t/2,s=n/2,l=z("circle");return N(l,{cx:a,cy:s,r:Math.round((t+n)/4-i)}),N(l,r),M(e,l),l}function x(e,t,n,i,r,a){o(r)&&(a=r,r=0),r=r||0,a=f(a,{stroke:"black",strokeWidth:2,fill:"white"});var s=z("rect");return N(s,{x:r,y:r,width:t-2*r,height:n-2*r,rx:i,ry:i}),N(s,a),M(e,s),s}function b(e,t,n){var i=ie(t,n=f(n,["no-fill"],{stroke:"black",strokeWidth:2,fill:"none"}));return M(e,i),i}function _(e,t,n){n=f(n,["no-fill"],{strokeWidth:2,stroke:"black"});var i=z("path");return N(i,{d:t}),N(i,n),M(e,i),i}function C(e,t,n,i){return _(t,n,w({"data-marker":e},i))}function k(e){return function(t,n){return F[e](t,n)}}function P(e){return F[e]}function T(e,t){var n=oe(e),i=function(e){return"bpmn:IntermediateThrowEvent"===e.$type||"bpmn:EndEvent"===e.$type}(n);return n.eventDefinitions&&n.eventDefinitions.length>1?n.parallelMultiple?P("bpmn:ParallelMultipleEventDefinition")(t,e,i):P("bpmn:MultipleEventDefinition")(t,e,i):re(n,"bpmn:MessageEventDefinition")?P("bpmn:MessageEventDefinition")(t,e,i):re(n,"bpmn:TimerEventDefinition")?P("bpmn:TimerEventDefinition")(t,e,i):re(n,"bpmn:ConditionalEventDefinition")?P("bpmn:ConditionalEventDefinition")(t,e):re(n,"bpmn:SignalEventDefinition")?P("bpmn:SignalEventDefinition")(t,e,i):re(n,"bpmn:EscalationEventDefinition")?P("bpmn:EscalationEventDefinition")(t,e,i):re(n,"bpmn:LinkEventDefinition")?P("bpmn:LinkEventDefinition")(t,e,i):re(n,"bpmn:ErrorEventDefinition")?P("bpmn:ErrorEventDefinition")(t,e,i):re(n,"bpmn:CancelEventDefinition")?P("bpmn:CancelEventDefinition")(t,e,i):re(n,"bpmn:CompensateEventDefinition")?P("bpmn:CompensateEventDefinition")(t,e,i):re(n,"bpmn:TerminateEventDefinition")?P("bpmn:TerminateEventDefinition")(t,e,i):null}function D(e,t,n){n=w({size:{width:100}},n);var i=a.createText(t||"",n);return L(i).add("djs-label"),M(e,i),i}function O(e,t,n){return D(e,oe(t).name,{box:t,align:n,padding:5,style:{fill:pe(t,c,p)}})}function B(e,t,n){De(D(e,t,{box:{height:30,width:n.height},align:"center-middle",style:{fill:pe(n,c,p)}}),0,-(-1*n.height),270)}function I(e){for(var t=e.waypoints,n="m "+t[0].x+","+t[0].y,i=1;i<t.length;i++)n+="L"+t[i].x+","+t[i].y+" ";return n}var F=this.handlers={"bpmn:Event":function(e,t,n){return"fillOpacity"in n||(n.fillOpacity=Fe),v(e,t.width,t.height,n)},"bpmn:StartEvent":function(e,t){var n={fill:se(t,l),stroke:le(t,p)};oe(t).isInterrupting||(n={strokeDasharray:"6",strokeLinecap:"round",fill:se(t,l),stroke:le(t,p)});var i=P("bpmn:Event")(e,t,n);return T(t,e),i},"bpmn:MessageEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_MESSAGE",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.235,my:.315}}),{strokeWidth:1,fill:n?le(t,p):se(t,l),stroke:n?se(t,l):le(t,p)})},"bpmn:TimerEventDefinition":function(e,t){var n=v(e,t.width,t.height,.2*t.height,{strokeWidth:2,fill:se(t,l),stroke:le(t,p)});_(e,i.getScaledPath("EVENT_TIMER_WH",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),{strokeWidth:2,strokeLinecap:"square",stroke:le(t,p)});for(var r=0;r<12;r++){var a=i.getScaledPath("EVENT_TIMER_LINE",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),o=t.width/2;_(e,a,{strokeWidth:1,strokeLinecap:"square",transform:"rotate("+30*r+","+t.height/2+","+o+")",stroke:le(t,p)})}return n},"bpmn:EscalationEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_ESCALATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)})},"bpmn:ConditionalEventDefinition":function(e,t){return _(e,i.getScaledPath("EVENT_CONDITIONAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.222}}),{strokeWidth:1,stroke:le(t,p)})},"bpmn:LinkEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_LINK",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.57,my:.263}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)})},"bpmn:ErrorEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_ERROR",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.2,my:.722}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)})},"bpmn:CancelEventDefinition":function(e,t,n){var r=_(e,i.getScaledPath("EVENT_CANCEL_45",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.638,my:-.055}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)});return function(e,t){var n=$();n.setRotate(t,0,0),ee(e,n)}(r,45),r},"bpmn:CompensateEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.22,my:.5}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)})},"bpmn:SignalEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_SIGNAL",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{strokeWidth:1,fill:n?le(t,p):"none",stroke:le(t,p)})},"bpmn:MultipleEventDefinition":function(e,t,n){return _(e,i.getScaledPath("EVENT_MULTIPLE",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.222,my:.36}}),{strokeWidth:1,fill:n?le(t,p):"none"})},"bpmn:ParallelMultipleEventDefinition":function(e,t){return _(e,i.getScaledPath("EVENT_PARALLEL_MULTIPLE",{xScaleFactor:1.2,yScaleFactor:1.2,containerWidth:t.width,containerHeight:t.height,position:{mx:.458,my:.194}}),{strokeWidth:1,fill:le(t,p),stroke:le(t,p)})},"bpmn:EndEvent":function(e,t){var n=P("bpmn:Event")(e,t,{strokeWidth:4,fill:se(t,l),stroke:le(t,p)});return T(t,e),n},"bpmn:TerminateEventDefinition":function(e,t){return v(e,t.width,t.height,8,{strokeWidth:4,fill:le(t,p),stroke:le(t,p)})},"bpmn:IntermediateEvent":function(e,t){var n=P("bpmn:Event")(e,t,{strokeWidth:1,fill:se(t,l),stroke:le(t,p)});return v(e,t.width,t.height,3,{strokeWidth:1,fill:se(t,"none"),stroke:le(t,p)}),T(t,e),n},"bpmn:IntermediateCatchEvent":k("bpmn:IntermediateEvent"),"bpmn:IntermediateThrowEvent":k("bpmn:IntermediateEvent"),"bpmn:Activity":function(e,t,n){return"fillOpacity"in(n=n||{})||(n.fillOpacity=Fe),x(e,t.width,t.height,10,n)},"bpmn:Task":function(e,t){var n={fill:se(t,l),stroke:le(t,p)},i=P("bpmn:Activity")(e,t,n);return O(e,t,"center-middle"),j(e,t),i},"bpmn:ServiceTask":function(e,t){var n=P("bpmn:Task")(e,t);return _(e,i.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:12,y:18}}),{strokeWidth:1,fill:se(t,l),stroke:le(t,p)}),_(e,i.getScaledPath("TASK_TYPE_SERVICE_FILL",{abspos:{x:17.2,y:18}}),{strokeWidth:0,fill:se(t,l)}),_(e,i.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:17,y:22}}),{strokeWidth:1,fill:se(t,l),stroke:le(t,p)}),n},"bpmn:UserTask":function(e,t){var n=P("bpmn:Task")(e,t);return _(e,i.getScaledPath("TASK_TYPE_USER_1",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:se(t,l),stroke:le(t,p)}),_(e,i.getScaledPath("TASK_TYPE_USER_2",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:se(t,l),stroke:le(t,p)}),_(e,i.getScaledPath("TASK_TYPE_USER_3",{abspos:{x:15,y:12}}),{strokeWidth:.5,fill:le(t,p),stroke:le(t,p)}),n},"bpmn:ManualTask":function(e,t){var n=P("bpmn:Task")(e,t);return _(e,i.getScaledPath("TASK_TYPE_MANUAL",{abspos:{x:17,y:15}}),{strokeWidth:.5,fill:se(t,l),stroke:le(t,p)}),n},"bpmn:SendTask":function(e,t){var n=P("bpmn:Task")(e,t);return _(e,i.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:1,yScaleFactor:1,containerWidth:21,containerHeight:14,position:{mx:.285,my:.357}}),{strokeWidth:1,fill:le(t,p),stroke:se(t,l)}),n},"bpmn:ReceiveTask":function(e,t){var n,r=oe(t),a=P("bpmn:Task")(e,t);return r.instantiate?(v(e,28,28,4.4,{strokeWidth:1}),n=i.getScaledPath("TASK_TYPE_INSTANTIATING_SEND",{abspos:{x:7.77,y:9.52}})):n=i.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:21,containerHeight:14,position:{mx:.3,my:.4}}),_(e,n,{strokeWidth:1,fill:se(t,l),stroke:le(t,p)}),a},"bpmn:ScriptTask":function(e,t){var n=P("bpmn:Task")(e,t);return _(e,i.getScaledPath("TASK_TYPE_SCRIPT",{abspos:{x:15,y:20}}),{strokeWidth:1,stroke:le(t,p)}),n},"bpmn:BusinessRuleTask":function(e,t){var n=P("bpmn:Task")(e,t);return N(_(e,i.getScaledPath("TASK_TYPE_BUSINESS_RULE_HEADER",{abspos:{x:8,y:8}})),{strokeWidth:1,fill:se(t,"#aaaaaa"),stroke:le(t,p)}),N(_(e,i.getScaledPath("TASK_TYPE_BUSINESS_RULE_MAIN",{abspos:{x:8,y:8}})),{strokeWidth:1,stroke:le(t,p)}),n},"bpmn:SubProcess":function(e,t,n){n=w({fill:se(t,l),stroke:le(t,p)},n);var i=P("bpmn:Activity")(e,t,n),r=S(t);return function(e){return e&&!!A(e).triggeredByEvent}(t)&&N(i,{strokeDasharray:"1,2"}),O(e,t,r?"center-top":"center-middle"),r?j(e,t):j(e,t,["SubProcessMarker"]),i},"bpmn:AdHocSubProcess":function(e,t){return P("bpmn:SubProcess")(e,t)},"bpmn:Transaction":function(e,t){var i=P("bpmn:SubProcess")(e,t),r=n.style(["no-fill","no-events"],{stroke:le(t,p)});return x(e,t.width,t.height,8,3,r),i},"bpmn:CallActivity":function(e,t){return P("bpmn:SubProcess")(e,t,{strokeWidth:5})},"bpmn:Participant":function(e,t){var n={fillOpacity:Fe,fill:se(t,l),stroke:le(t,p)},i=P("bpmn:Lane")(e,t,n);S(t)?(b(e,[{x:30,y:0},{x:30,y:t.height}],{stroke:le(t,p)}),B(e,oe(t).name,t)):D(e,oe(t).name,{box:t,align:"center-middle",style:{fill:pe(t,c,p)}});return!!oe(t).participantMultiplicity&&P("ParticipantMultiplicityMarker")(e,t),i},"bpmn:Lane":function(e,t,n){var i=x(e,t.width,t.height,0,w({fill:se(t,l),fillOpacity:.35,stroke:le(t,p)},n)),r=oe(t);"bpmn:Lane"===r.$type&&B(e,r.name,t);return i},"bpmn:InclusiveGateway":function(e,t){var n=P("bpmn:Gateway")(e,t);return v(e,t.width,t.height,.24*t.height,{strokeWidth:2.5,fill:se(t,l),stroke:le(t,p)}),n},"bpmn:ExclusiveGateway":function(e,t){var n=P("bpmn:Gateway")(e,t),r=i.getScaledPath("GATEWAY_EXCLUSIVE",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.32,my:.3}});return ae(t).isMarkerVisible&&_(e,r,{strokeWidth:1,fill:le(t,p),stroke:le(t,p)}),n},"bpmn:ComplexGateway":function(e,t){var n=P("bpmn:Gateway")(e,t);return _(e,i.getScaledPath("GATEWAY_COMPLEX",{xScaleFactor:.5,yScaleFactor:.5,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.26}}),{strokeWidth:1,fill:le(t,p),stroke:le(t,p)}),n},"bpmn:ParallelGateway":function(e,t){var n=P("bpmn:Gateway")(e,t);return _(e,i.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.6,yScaleFactor:.6,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.2}}),{strokeWidth:1,fill:le(t,p),stroke:le(t,p)}),n},"bpmn:EventBasedGateway":function(e,t){var n=oe(t),r=P("bpmn:Gateway")(e,t);v(e,t.width,t.height,.2*t.height,{strokeWidth:1,fill:"none",stroke:le(t,p)});var a=n.eventGatewayType,o=!!n.instantiate;if("Parallel"===a){var s=i.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}});N(_(e,s),{strokeWidth:1,fill:"none"})}else if("Exclusive"===a){if(!o)N(v(e,t.width,t.height,.26*t.height),{strokeWidth:1,fill:"none",stroke:le(t,p)});!function(){var n=i.getScaledPath("GATEWAY_EVENT_BASED",{xScaleFactor:.18,yScaleFactor:.18,containerWidth:t.width,containerHeight:t.height,position:{mx:.36,my:.44}}),r={strokeWidth:2,fill:se(t,"none"),stroke:le(t,p)};_(e,n,r)}()}return r},"bpmn:Gateway":function(e,t){var n={fill:se(t,l),fillOpacity:Fe,stroke:le(t,p)};return function(e,t,n,i){var r=t/2,a=n/2,o=[{x:r,y:0},{x:t,y:a},{x:r,y:n},{x:0,y:a}].map((function(e){return e.x+","+e.y})).join(" ");i=f(i,{stroke:"black",strokeWidth:2,fill:"white"});var s=z("polygon");return N(s,{points:o}),N(s,i),M(e,s),s}(e,t.width,t.height,n)},"bpmn:SequenceFlow":function(e,t){var n,i=I(t),r=se(t,l),a=le(t,p),o=_(e,i,{strokeLinejoin:"round",markerEnd:g("sequenceflow-end",r,a),stroke:le(t,p)}),s=oe(t);return t.source&&(n=t.source.businessObject,s.conditionExpression&&n.$instanceOf("bpmn:Activity")&&N(o,{markerStart:g("conditional-flow-marker",r,a)}),n.default&&(n.$instanceOf("bpmn:Gateway")||n.$instanceOf("bpmn:Activity"))&&n.default===s&&N(o,{markerStart:g("conditional-default-flow-marker",r,a)})),o},"bpmn:Association":function(e,t,n){var i=oe(t),r=se(t,l),a=le(t,p);return n=w({strokeDasharray:"0.5, 5",strokeLinecap:"round",strokeLinejoin:"round",stroke:le(t,p)},n||{}),"One"!==i.associationDirection&&"Both"!==i.associationDirection||(n.markerEnd=g("association-end",r,a)),"Both"===i.associationDirection&&(n.markerStart=g("association-start",r,a)),b(e,t.waypoints,n)},"bpmn:DataInputAssociation":function(e,t){var n=se(t,l),i=le(t,p);return P("bpmn:Association")(e,t,{markerEnd:g("association-end",n,i)})},"bpmn:DataOutputAssociation":function(e,t){var n=se(t,l),i=le(t,p);return P("bpmn:Association")(e,t,{markerEnd:g("association-end",n,i)})},"bpmn:MessageFlow":function(e,t){var n=oe(t),r=ae(t),a=se(t,l),o=le(t,p),s=_(e,I(t),{markerEnd:g("messageflow-end",a,o),markerStart:g("messageflow-start",a,o),strokeDasharray:"10, 12",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5px",stroke:le(t,p)});if(n.messageRef){var u=s.getPointAtLength(s.getTotalLength()/2),h=i.getScaledPath("MESSAGE_FLOW_MARKER",{abspos:{x:u.x,y:u.y}}),m={strokeWidth:1};"initiating"===r.messageVisibleKind?(m.fill="white",m.stroke="black"):(m.fill="#888",m.stroke="white");var f=_(e,h,m),d=D(e,n.messageRef.name,{align:"center-top",fitBox:!0,style:{fill:le(t,c)}}),y=f.getBBox(),v=d.getBBox();De(d,u.x-v.width/2,u.y+y.height/2+10,0)}return s},"bpmn:DataObject":function(e,t){var n=_(e,i.getScaledPath("DATA_OBJECT_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}}),{fill:se(t,l),fillOpacity:Fe,stroke:le(t,p)});return function(e){var t=e.dataObjectRef;return e.isCollection||t&&t.isCollection}(oe(t))&&function(e,t){var n=(t.height-18)/t.height,r=i.getScaledPath("DATA_OBJECT_COLLECTION_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.33,my:n}});_(e,r,{strokeWidth:2})}(e,t),n},"bpmn:DataObjectReference":k("bpmn:DataObject"),"bpmn:DataInput":function(e,t){var n=i.getRawPath("DATA_ARROW"),r=P("bpmn:DataObject")(e,t);return _(e,n,{strokeWidth:1}),r},"bpmn:DataOutput":function(e,t){var n=i.getRawPath("DATA_ARROW"),r=P("bpmn:DataObject")(e,t);return _(e,n,{strokeWidth:1,fill:"black"}),r},"bpmn:DataStoreReference":function(e,t){return _(e,i.getScaledPath("DATA_STORE",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:.133}}),{strokeWidth:2,fill:se(t,l),fillOpacity:Fe,stroke:le(t,p)})},"bpmn:BoundaryEvent":function(e,t){var n=oe(t).cancelActivity,i={strokeWidth:1,fill:se(t,l),stroke:le(t,p)};n||(i.strokeDasharray="6",i.strokeLinecap="round");var r=w({},i,{fillOpacity:1}),a=w({},i,{fill:"none"}),o=P("bpmn:Event")(e,t,r);return v(e,t.width,t.height,3,a),T(t,e),o},"bpmn:Group":function(e,t){return x(e,t.width,t.height,10,{stroke:le(t,p),strokeWidth:1,strokeDasharray:"8,3,1,3",fill:"none",pointerEvents:"none"})},label:function(e,t){return function(e,t){var n={width:90,height:30,x:t.width/2+t.x,y:t.height/2+t.y};return D(e,R(t),{box:n,fitBox:!0,style:w({},a.getExternalStyle(),{fill:pe(t,c,p)})})}(e,t)},"bpmn:TextAnnotation":function(e,t){var n=x(e,t.width,t.height,0,0,{fill:"none",stroke:"none"});return _(e,i.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:0}}),{stroke:le(t,p)}),D(e,oe(t).text||"",{box:t,align:"left-top",padding:5,style:{fill:pe(t,c,p)}}),n},ParticipantMultiplicityMarker:function(e,t){C("participant-multiplicity",e,i.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:t.width/2/t.width,my:(t.height-15)/t.height}}),{strokeWidth:2,fill:se(t,l),stroke:le(t,p)})},SubProcessMarker:function(e,t){Oe(x(e,14,14,0,{strokeWidth:1,fill:se(t,l),stroke:le(t,p)}),t.width/2-7.5,t.height-20),C("sub-process",e,i.getScaledPath("MARKER_SUB_PROCESS",{xScaleFactor:1.5,yScaleFactor:1.5,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2-7.5)/t.width,my:(t.height-20)/t.height}}),{fill:se(t,l),stroke:le(t,p)})},ParallelMarker:function(e,t,n){C("parallel",e,i.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.parallel)/t.width,my:(t.height-20)/t.height}}),{fill:se(t,l),stroke:le(t,p)})},SequentialMarker:function(e,t,n){C("sequential",e,i.getScaledPath("MARKER_SEQUENTIAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.seq)/t.width,my:(t.height-19)/t.height}}),{fill:se(t,l),stroke:le(t,p)})},CompensationMarker:function(e,t,n){C("compensation",e,i.getScaledPath("MARKER_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.compensation)/t.width,my:(t.height-13)/t.height}}),{strokeWidth:1,fill:se(t,l),stroke:le(t,p)})},LoopMarker:function(e,t,n){C("loop",e,i.getScaledPath("MARKER_LOOP",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.loop)/t.width,my:(t.height-7)/t.height}}),{strokeWidth:1,fill:se(t,l),stroke:le(t,p),strokeLinecap:"round",strokeMiterlimit:.5})},AdhocMarker:function(e,t,n){C("adhoc",e,i.getScaledPath("MARKER_ADHOC",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.adhoc)/t.width,my:(t.height-15)/t.height}}),{strokeWidth:1,fill:le(t,p),stroke:le(t,p)})}};function j(e,t,n){var i,r=oe(t),a=n&&-1!==n.indexOf("SubProcessMarker");i=a?{seq:-21,parallel:-22,compensation:-42,loop:-18,adhoc:10}:{seq:-3,parallel:-6,compensation:-27,loop:0,adhoc:10},m(n,(function(n){P(n)(e,t,i)})),r.isForCompensation&&P("CompensationMarker")(e,t,i),"bpmn:AdHocSubProcess"===r.$type&&P("AdhocMarker")(e,t,i);var o=r.loopCharacteristics,s=o&&o.isSequential;o&&(void 0===s&&P("LoopMarker")(e,t,i),!1===s&&P("ParallelMarker")(e,t,i),!0===s&&P("SequentialMarker")(e,t,i))}this._drawPath=_}t(je,E),je.$inject=["config.bpmnRenderer","eventBus","styles","pathMap","canvas","textRenderer"],je.prototype.canRender=function(e){return _(e,"bpmn:BaseElement")},je.prototype.drawShape=function(e,t){var n=t.type;return(0,this.handlers[n])(e,t)},je.prototype.drawConnection=function(e,t){var n=t.type;return(0,this.handlers[n])(e,t)},je.prototype.getShapePath=function(e){return _(e,"bpmn:Event")?(n=(t=e).x+t.width/2,i=t.y+t.height/2,r=t.width/2,te([["M",n,i],["m",0,-r],["a",r,r,0,1,1,0,2*r],["a",r,r,0,1,1,0,-2*r],["z"]])):_(e,"bpmn:Activity")?function(e,t){var n=e.x,i=e.y,r=e.width,a=e.height;return te([["M",n+t,i],["l",r-2*t,0],["a",t,t,0,0,1,t,t],["l",0,a-2*t],["a",t,t,0,0,1,-t,t],["l",2*t-r,0],["a",t,t,0,0,1,-t,-t],["l",0,2*t-a],["a",t,t,0,0,1,t,-t],["z"]])}(e,10):_(e,"bpmn:Gateway")?function(e){var t=e.width/2,n=e.height/2;return te([["M",e.x+t,e.y],["l",t,n],["l",-t,n],["l",-t,-n],["z"]])}(e):function(e){var t=e.x,n=e.y,i=e.width;return te([["M",t,n],["l",i,0],["l",0,e.height],["l",-i,0],["z"]])}(e);var t,n,i,r};var Ve={width:150,height:50};function We(e,t){var n;t.textContent=e;try{var i,r=""===e;return t.textContent=r?"dummy":e,i={width:(n=t.getBBox()).width+2*n.x,height:n.height},r&&(i.width=0),i}catch(e){return{width:0,height:0}}}function ze(e,t,n){for(var i,r=e.shift(),a=r;;){if((i=We(a,n)).width=a?i.width:0," "===a||""===a||i.width<Math.round(t)||a.length<2)return Ge(e,a,r,i);a=He(a,i.width,t)}}function Ge(e,t,n,i){if(t.length<n.length){var r=n.slice(t.length).trim();e.unshift(r)}return{width:i.width,height:i.height,text:t}}function He(e,t,n){var i=Math.max(e.length*(n/t),1),r=function(e,t){var n,i=e.split(/(\s|-|\u00AD)/g),r=[],a=0;if(i.length>1)for(;n=i.shift();){if(!(n.length+a<t)){"-"!==n&&"­"!==n||r.pop();break}r.push(n),a+=n.length}var o=r[r.length-1];return o&&"­"===o&&(r[r.length-1]="-"),r.join("")}(e,i);return r||(r=e.slice(0,Math.max(Math.round(i-1),1))),r}function $e(e){this._config=w({},{size:Ve,padding:0,style:{},align:"center-top"},e||{})}$e.prototype.createText=function(e,t){return this.layoutText(e,t).element},$e.prototype.getDimensions=function(e,t){return this.layoutText(e,t).dimensions},$e.prototype.layoutText=function(e,t){var n=w({},this._config.size,t.box),i=w({},this._config.style,t.style),r=function(e){var t=e.split("-");return{horizontal:t[0]||"center",vertical:t[1]||"top"}}(t.align||this._config.align),a=function(e){return o(e)?w({top:0,left:0,right:0,bottom:0},e):{top:e,left:e,right:e,bottom:e}}(void 0!==t.padding?t.padding:this._config.padding),s=t.fitBox||!1,l=function(e){if("fontSize"in e&&"lineHeight"in e)return e.lineHeight*parseInt(e.fontSize,10)}(i),p=e.split(/\u00AD?\r?\n/),c=[],u=n.width-a.left-a.right,h=z("text");for(N(h,{x:0,y:0}),N(h,i),M(function(){var e=document.getElementById("helper-svg");return e||(N(e=z("svg"),{id:"helper-svg",width:0,height:0,style:"visibility: hidden; position: fixed"}),document.body.appendChild(e)),e}(),h);p.length;)c.push(ze(p,u,h));"middle"===r.vertical&&(a.top=a.bottom=0);var d=f(c,(function(e,t,n){return e+(l||t.height)}),0)+a.top+a.bottom,y=f(c,(function(e,t,n){return t.width>e?t.width:e}),0),g=a.top;"middle"===r.vertical&&(g+=(n.height-d)/2),g-=(l||c[0].height)/4;var v=z("text");return N(v,i),m(c,(function(e){var t;switch(g+=l||e.height,r.horizontal){case"left":t=a.left;break;case"right":t=(s?y:u)-a.right-e.width;break;default:t=Math.max(((s?y:u)-e.width)/2+a.left,0)}var n=z("tspan");N(n,{x:t,y:g}),n.textContent=e.text,M(v,n)})),F(h),{dimensions:{width:y,height:d},element:v}};function Ke(e){var t=w({fontFamily:"Arial, sans-serif",fontSize:12,fontWeight:"normal",lineHeight:1.2},e&&e.defaultStyle||{}),n=parseInt(t.fontSize,10)-1,i=w({},t,{fontSize:n},e&&e.externalStyle||{}),r=new $e({style:t});this.getExternalLabelBounds=function(e,t){var n=r.getDimensions(t,{box:{width:90,height:30,x:e.width/2+e.x,y:e.height/2+e.y},style:i});return{x:Math.round(e.x+e.width/2-n.width/2),y:Math.round(e.y),width:Math.ceil(n.width),height:Math.ceil(n.height)}},this.getTextAnnotationBounds=function(e,n){var i=r.getDimensions(n,{box:e,style:t,align:"left-top",padding:5});return{x:e.x,y:e.y,width:e.width,height:Math.max(30,Math.round(i.height))}},this.createText=function(e,t){return r.createText(e,t||{})},this.getDefaultStyle=function(){return t},this.getExternalStyle=function(){return i}}Ke.$inject=["config.textRenderer"];var Ue=/\{([^{}]+)\}/g,qe=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;var Ye={__init__:["bpmnRenderer"],bpmnRenderer:["type",je],textRenderer:["type",Ke],pathMap:["type",function(){this.pathMap={EVENT_MESSAGE:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:36,width:36,heightElements:[6,14],widthElements:[10.5,21]},EVENT_SIGNAL:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z",height:36,width:36,heightElements:[18],widthElements:[10,20]},EVENT_ESCALATION:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z",height:36,width:36,heightElements:[20,7],widthElements:[8]},EVENT_CONDITIONAL:{d:"M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z M {e.x2},{e.y3} l {e.x0},0 M {e.x2},{e.y4} l {e.x0},0 M {e.x2},{e.y5} l {e.x0},0 M {e.x2},{e.y6} l {e.x0},0 M {e.x2},{e.y7} l {e.x0},0 M {e.x2},{e.y8} l {e.x0},0 ",height:36,width:36,heightElements:[8.5,14.5,18,11.5,14.5,17.5,20.5,23.5,26.5],widthElements:[10.5,14.5,12.5]},EVENT_LINK:{d:"m {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z",height:36,width:36,heightElements:[4.4375,6.75,7.8125],widthElements:[9.84375,13.5]},EVENT_ERROR:{d:"m {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z",height:36,width:36,heightElements:[.023,8.737,8.151,16.564,10.591,8.714],widthElements:[.085,6.672,6.97,4.273,5.337,6.636]},EVENT_CANCEL_45:{d:"m {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:36,width:36,heightElements:[4.75,8.5],widthElements:[4.75,8.5]},EVENT_COMPENSATION:{d:"m {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z",height:36,width:36,heightElements:[6.5,13,.4,6.1],widthElements:[9,9.3,8.7]},EVENT_TIMER_WH:{d:"M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ",height:36,width:36,heightElements:[10,2],widthElements:[3,7]},EVENT_TIMER_LINE:{d:"M {mx},{my} m {e.x0},{e.y0} l -{e.x1},{e.y1} ",height:36,width:36,heightElements:[10,3],widthElements:[0,0]},EVENT_MULTIPLE:{d:"m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z",height:36,width:36,heightElements:[6.28099,12.56199],widthElements:[3.1405,9.42149,12.56198]},EVENT_PARALLEL_MULTIPLE:{d:"m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} -{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z",height:36,width:36,heightElements:[2.56228,7.68683],widthElements:[2.56228,7.68683]},GATEWAY_EXCLUSIVE:{d:"m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} {e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} {e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z",height:17.5,width:17.5,heightElements:[8.5,6.5312,-6.5312,-8.5],widthElements:[6.5,-6.5,3,-3,5,-5]},GATEWAY_PARALLEL:{d:"m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:30,width:30,heightElements:[5,12.5],widthElements:[5,12.5]},GATEWAY_EVENT_BASED:{d:"m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z",height:11,width:11,heightElements:[-6,6,12,-12],widthElements:[9,-3,-12]},GATEWAY_COMPLEX:{d:"m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} {e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} {e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} -{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z",height:17.125,width:17.125,heightElements:[4.875,3.4375,2.125,3],widthElements:[3.4375,2.125,4.875,3]},DATA_OBJECT_PATH:{d:"m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0",height:61,width:51,heightElements:[10,50,60],widthElements:[10,40,50,60]},DATA_OBJECT_COLLECTION_PATH:{d:"m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10",height:10,width:10,heightElements:[],widthElements:[]},DATA_ARROW:{d:"m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z",height:61,width:51,heightElements:[],widthElements:[]},DATA_STORE:{d:"m {mx},{my} l 0,{e.y2} c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 l 0,-{e.y2} c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0",height:61,width:61,heightElements:[7,10,45],widthElements:[2,58,60]},TEXT_ANNOTATION:{d:"m {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0",height:30,width:10,heightElements:[30],widthElements:[10]},MARKER_SUB_PROCESS:{d:"m{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_PARALLEL:{d:"m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10",height:10,width:10,heightElements:[],widthElements:[]},MARKER_SEQUENTIAL:{d:"m{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_COMPENSATION:{d:"m {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z",height:10,width:21,heightElements:[],widthElements:[]},MARKER_LOOP:{d:"m {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 -6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902",height:13.9,width:13.7,heightElements:[],widthElements:[]},MARKER_ADHOC:{d:"m {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 -3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 -2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z",height:4,width:15,heightElements:[],widthElements:[]},TASK_TYPE_SEND:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:14,width:21,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_SCRIPT:{d:"m {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z m -7,-12 l 5,0 m -4.5,3 l 4.5,0 m -3,3 l 5,0m -4,3 l 5,0",height:15,width:12.6,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_USER_1:{d:"m {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 -4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 zm -8,6 l 0,5.5 m 11,0 l 0,-5"},TASK_TYPE_USER_2:{d:"m {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 -2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 "},TASK_TYPE_USER_3:{d:"m {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 -4.20799998,3.36699999 -4.20699998,4.34799999 z"},TASK_TYPE_MANUAL:{d:"m {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 -0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 -1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 -10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 -0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 -1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 -0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 -5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z"},TASK_TYPE_INSTANTIATING_SEND:{d:"m {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6"},TASK_TYPE_SERVICE:{d:"m {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 -1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 -0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 -1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 -0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z m 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_SERVICE_FILL:{d:"m {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_BUSINESS_RULE_HEADER:{d:"m {mx},{my} 0,4 20,0 0,-4 z"},TASK_TYPE_BUSINESS_RULE_MAIN:{d:"m {mx},{my} 0,12 20,0 0,-12 zm 0,8 l 20,0 m -13,-4 l 0,8"},MESSAGE_FLOW_MARKER:{d:"m {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6"}},this.getRawPath=function(e){return this.pathMap[e].d},this.getScaledPath=function(e,t){var n,i,r=this.pathMap[e];t.abspos?(n=t.abspos.x,i=t.abspos.y):(n=t.containerWidth*t.position.mx,i=t.containerHeight*t.position.my);var a,o,s={};if(t.position){for(var l=t.containerHeight/r.height*t.yScaleFactor,p=t.containerWidth/r.width*t.xScaleFactor,c=0;c<r.heightElements.length;c++)s["y"+c]=r.heightElements[c]*l;for(var u=0;u<r.widthElements.length;u++)s["x"+u]=r.widthElements[u]*p}return a=r.d,o={mx:n,my:i,e:s},String(a).replace(Ue,(function(e,t){return function(e,t,n){var i=n;return t.replace(qe,(function(e,t,n,r,a){t=t||r,i&&(t in i&&(i=i[t]),"function"==typeof i&&a&&(i=i()))})),i=(null==i||i==n?e:i)+""}(e,t,o)}))}}]};var Xe={translate:["value",function(e,t){return t=t||{},e.replace(/{([^}]+)}/g,(function(e,n){return t[n]||"{"+n+"}"}))}]},Ze={width:90,height:20};function Je(e){var t=e.length/2-1,n=e[Math.floor(t)],i=e[Math.ceil(t+.01)],r=function(e){var t=e.length/2-1,n=e[Math.floor(t)],i=e[Math.ceil(t+.01)];return{x:n.x+(i.x-n.x)/2,y:n.y+(i.y-n.y)/2}}(e),a=Math.atan((i.y-n.y)/(i.x-n.x)),o=r.x,s=r.y;return Math.abs(a)<Math.PI/2?s-=15:o+=15,{x:o,y:s}}function Qe(e,t){var n,i,r,a=e.di.label;return a&&a.bounds?(r=a.bounds,i={width:Math.max(Ze.width,r.width),height:r.height},n={x:r.x+r.width/2,y:r.y+r.height/2}):(n=function(e){return e.waypoints?Je(e.waypoints):_(e,"bpmn:Group")?{x:e.x+e.width/2,y:e.y+Ze.height/2}:{x:e.x+e.width/2,y:e.y+e.height+Ze.height/2}}(t),i=Ze),w({x:n.x-i.width/2,y:n.y-i.height/2},i)}function et(e){return{top:e.y,right:e.x+(e.width||0),bottom:e.y+(e.height||0),left:e.x}}function tt(e){return t={x:e.x+(e.width||0)/2,y:e.y+(e.height||0)/2},{x:Math.round(t.x),y:Math.round(t.y)};var t}function nt(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':"<null>"}function it(e,t){return w({id:e.id,type:e.$type,businessObject:e},t)}function rt(e,t,n){var i=e.di.waypoint;return!i||i.length<2?[tt(t),tt(n)]:i.map((function(e){return{x:e.x,y:e.y}}))}function at(e,t,n,i){return new Error(e("element {element} referenced by {referenced}#{property} not yet drawn",{element:nt(n),referenced:nt(t),property:i}))}function ot(e,t,n,i,r,a){this._eventBus=e,this._canvas=t,this._elementFactory=n,this._elementRegistry=i,this._translate=r,this._textRenderer=a}ot.$inject=["eventBus","canvas","elementFactory","elementRegistry","translate","textRenderer"],ot.prototype.add=function(e,t){var n,i,r,a,o,s,l,p=e.di,c=this._translate;if(_(p,"bpmndi:BPMNPlane"))n=this._elementFactory.createRoot(it(e)),this._canvas.setRootElement(n);else if(_(p,"bpmndi:BPMNShape")){var u=!S(e),h=function(e){return _(e,"bpmn:Group")}(e);i=t&&(t.hidden||t.collapsed);var m=e.di.bounds;n=this._elementFactory.createShape(it(e,{collapsed:u,hidden:i,x:Math.round(m.x),y:Math.round(m.y),width:Math.round(m.width),height:Math.round(m.height),isFrame:h})),_(e,"bpmn:BoundaryEvent")&&this._attachBoundary(e,n),_(e,"bpmn:Lane")&&(r=0),_(e,"bpmn:DataStoreReference")&&(a=t,o=tt(m),s=o.x,l=o.y,s>=a.x&&s<=a.x+a.width&&l>=a.y&&l<=a.y+a.height||(t=this._canvas.getRootElement())),this._canvas.addShape(n,t,r)}else{if(!_(p,"bpmndi:BPMNEdge"))throw new Error(c("unknown di {di} for element {semantic}",{di:nt(p),semantic:nt(e)}));var f=this._getSource(e),d=this._getTarget(e);i=t&&(t.hidden||t.collapsed),n=this._elementFactory.createConnection(it(e,{hidden:i,source:f,target:d,waypoints:rt(e,f,d)})),_(e,"bpmn:DataAssociation")&&(t=null),_(e,"bpmn:SequenceFlow")&&(r=0),this._canvas.addConnection(n,t,r)}return function(e){return _(e,"bpmn:Event")||_(e,"bpmn:Gateway")||_(e,"bpmn:DataStoreReference")||_(e,"bpmn:DataObjectReference")||_(e,"bpmn:DataInput")||_(e,"bpmn:DataOutput")||_(e,"bpmn:SequenceFlow")||_(e,"bpmn:MessageFlow")||_(e,"bpmn:Group")}(e)&&R(n)&&this.addLabel(e,n),this._eventBus.fire("bpmnElement.added",{element:n}),n},ot.prototype._attachBoundary=function(e,t){var n=this._translate,i=e.attachedToRef;if(!i)throw new Error(n("missing {semantic}#attachedToRef",{semantic:nt(e)}));var r=this._elementRegistry.get(i.id),a=r&&r.attachers;if(!r)throw at(n,e,i,"attachedToRef");t.host=r,a||(r.attachers=a=[]),-1===a.indexOf(t)&&a.push(t)},ot.prototype.addLabel=function(e,t){var n,i,r;return n=Qe(e,t),(i=R(t))&&(n=this._textRenderer.getExternalLabelBounds(n,i)),r=this._elementFactory.createLabel(it(e,{id:e.id+"_label",labelTarget:t,type:"label",hidden:t.hidden||!R(t),x:Math.round(n.x),y:Math.round(n.y),width:Math.round(n.width),height:Math.round(n.height)})),this._canvas.addShape(r,t.parent)},ot.prototype._getEnd=function(e,t){var n,i,r=e.$type,a=this._translate;if(i=e[t+"Ref"],"source"===t&&"bpmn:DataInputAssociation"===r&&(i=i&&i[0]),("source"===t&&"bpmn:DataOutputAssociation"===r||"target"===t&&"bpmn:DataInputAssociation"===r)&&(i=e.$parent),n=i&&this._getElement(i))return n;throw i?at(a,e,i,t+"Ref"):new Error(a("{semantic}#{side} Ref not specified",{semantic:nt(e),side:t}))},ot.prototype._getSource=function(e){return this._getEnd(e,"source")},ot.prototype._getTarget=function(e){return this._getEnd(e,"target")},ot.prototype._getElement=function(e){return this._elementRegistry.get(e.id)};var st={__depends__:[Ye,{__depends__:[Xe],bpmnImporter:["type",ot]}]};function lt(e){return e.originalEvent||e.srcEvent}function pt(e,t){return(lt(e)||e).button===t}function ct(e){return pt(e,0)}function ut(e){var t=lt(e)||e;return!!ct(e)&&(/mac/i.test(navigator.platform)?t.metaKey:t.ctrlKey)}function ht(e){return!0}function mt(e){return ct(e)||function(e){return pt(e,1)}(e)}function ft(e,t,n){var i=this;function r(n,i,r){var a,o;(function(e,t){return!(l[e]||ct)(t)})(n,i)||(r?o=t.getGraphics(r):(a=i.delegateTarget||i.target)&&(o=a,r=t.get(o)),o&&r&&!1===e.fire(n,{element:r,gfx:o,originalEvent:i})&&(i.stopPropagation(),i.preventDefault()))}var a={};function o(e){return a[e]}var s={click:"element.click",contextmenu:"element.contextmenu",dblclick:"element.dblclick",mousedown:"element.mousedown",mousemove:"element.mousemove",mouseover:"element.hover",mouseout:"element.out",mouseup:"element.mouseup"},l={"element.contextmenu":ht,"element.mousedown":mt,"element.mouseup":mt,"element.click":mt,"element.dblclick":mt};function p(e,t,n,i){var o=a[n]=function(e){r(n,e)};i&&(l[n]=i),o.$delegate=Ce.bind(e,"svg, .djs-element",t,o)}function c(e,t,n){var i=o(n);i&&Ce.unbind(e,t,i.$delegate)}e.on("canvas.destroy",(function(e){var t;t=e.svg,m(s,(function(e,n){c(t,n,e)}))})),e.on("canvas.init",(function(e){var t;t=e.svg,m(s,(function(e,n){p(t,n,e)}))})),e.on(["shape.added","connection.added"],(function(t){var n=t.element,i=t.gfx;e.fire("interactionEvents.createHit",{element:n,gfx:i})})),e.on(["shape.changed","connection.changed"],500,(function(t){var n=t.element,i=t.gfx;e.fire("interactionEvents.updateHit",{element:n,gfx:i})})),e.on("interactionEvents.createHit",500,(function(e){var t=e.element,n=e.gfx;i.createDefaultHit(t,n)})),e.on("interactionEvents.updateHit",(function(e){var t=e.element,n=e.gfx;i.updateDefaultHit(t,n)}));var u=d("djs-hit djs-hit-stroke"),h=d("djs-hit djs-hit-click-stroke"),f={all:d("djs-hit djs-hit-all"),"click-stroke":h,stroke:u};function d(e,t){return t=w({stroke:"white",strokeWidth:15},t||{}),n.cls(e,["no-fill","no-border"],t)}function y(e,t){var n=f[t];if(!n)throw new Error("invalid hit type <"+t+">");return N(e,n),e}function g(e,t){M(e,t)}this.removeHits=function(e){var t;m((t=".djs-hit",(e||document).querySelectorAll(t)),F)},this.createDefaultHit=function(e,t){var n,i=e.waypoints,r=e.isFrame;return i?this.createWaypointsHit(t,i):(n=r?"stroke":"all",this.createBoxHit(t,n,{width:e.width,height:e.height}))},this.createWaypointsHit=function(e,t){var n=ie(t);return y(n,"stroke"),g(e,n),n},this.createBoxHit=function(e,t,n){n=w({x:0,y:0},n);var i=z("rect");return y(i,t),N(i,n),g(e,i),i},this.updateDefaultHit=function(e,t){var n=Ne(".djs-hit",t);if(n)return e.waypoints?function(e,t){N(e,{points:ne(t)})}(n,e.waypoints):N(n,{width:e.width,height:e.height}),n},this.fire=r,this.triggerMouseEvent=function(e,t,n){var i=s[e];if(!i)throw new Error("unmapped DOM event name <"+e+">");return r(i,t,n)},this.mouseHandler=o,this.registerEvent=p,this.unregisterEvent=c}ft.$inject=["eventBus","elementRegistry","styles"];var dt={__init__:["interactionEvents"],interactionEvents:["type",ft]};function yt(e,t){var n,i,r,o;return t=!!t,a(e)||(e=[e]),m(e,(function(e){var a=e;e.waypoints&&!t&&(a=yt(e.waypoints,!0));var s=a.x,l=a.y,p=a.height||0,c=a.width||0;(s<n||void 0===n)&&(n=s),(l<i||void 0===i)&&(i=l),(s+c>r||void 0===r)&&(r=s+c),(l+p>o||void 0===o)&&(o=l+p)})),{x:n,y:i,height:o-i,width:r-n}}function gt(e){return!(!e||!e.isFrame)}function vt(e,t,n){this.offset=6;var i=t.cls("djs-outline",["no-fill"]),r=this;function a(e,t){var n=z("rect");return N(n,w({x:10,y:10,width:100,height:100},i)),M(e,n),n}e.on(["shape.added","shape.changed"],500,(function(e){var t=e.element,n=e.gfx,i=Ne(".djs-outline",n);i||(i=a(n)),r.updateShapeOutline(i,t)})),e.on(["connection.added","connection.changed"],(function(e){var t=e.element,n=e.gfx,i=Ne(".djs-outline",n);i||(i=a(n)),r.updateConnectionOutline(i,t)}))}vt.prototype.updateShapeOutline=function(e,t){N(e,{x:-this.offset,y:-this.offset,width:t.width+2*this.offset,height:t.height+2*this.offset})},vt.prototype.updateConnectionOutline=function(e,t){var n=yt(t);N(e,{x:n.x-this.offset,y:n.y-this.offset,width:n.width+2*this.offset,height:n.height+2*this.offset})},vt.$inject=["eventBus","styles","elementRegistry"];var xt={__init__:["outline"],outline:["type",vt]};function bt(e,t){this._eventBus=e,this._canvas=t,this._selectedElements=[];var n=this;e.on(["shape.remove","connection.remove"],(function(e){var t=e.element;n.deselect(t)})),e.on(["diagram.clear","plane.set"],(function(e){n.select(null)}))}bt.$inject=["eventBus","canvas"],bt.prototype.deselect=function(e){var t=this._selectedElements,n=t.indexOf(e);if(-1!==n){var i=t.slice();t.splice(n,1),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:t})}},bt.prototype.get=function(){return this._selectedElements},bt.prototype.isSelected=function(e){return-1!==this._selectedElements.indexOf(e)},bt.prototype.select=function(e,t){var n=this._selectedElements,i=n.slice();a(e)||(e=e?[e]:[]);var r=this._canvas;e=e.filter((function(e){return r.findPlane(e)===r.getActivePlane()})),t?m(e,(function(e){-1===n.indexOf(e)&&n.push(e)})):this._selectedElements=n=e.slice(),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:n})};var wt="hover",Et="selected";function _t(e,t,n,i){function r(e,n){t.addMarker(e,n)}function a(e,n){t.removeMarker(e,n)}this._multiSelectionBox=null,e.on("element.hover",(function(e){r(e.element,wt)})),e.on("element.out",(function(e){a(e.element,wt)})),e.on("selection.changed",(function(e){var t=e.oldSelection,n=e.newSelection;m(t,(function(e){-1===n.indexOf(e)&&a(e,Et)})),m(n,(function(e){-1===t.indexOf(e)&&r(e,Et)}))}))}function At(e,t,n,i){e.on("create.end",500,(function(e){var n=e.context,i=n.canExecute,r=n.elements,o=(n.hints||{}).autoSelect;if(i){if(!1===o)return;a(o)?t.select(o):t.select(r.filter(St))}})),e.on("connect.end",500,(function(e){var n=e.context,i=n.canExecute,r=n.hover;i&&r&&t.select(r)})),e.on("shape.move.end",500,(function(e){var n=e.previousSelection||[],r=i.get(e.context.shape.id);u(n,(function(e){return r.id===e.id}))||t.select(r)})),e.on("element.click",(function(e){if(ct(e)){var i=e.element;i===n.getRootElement()&&(i=null);var r=t.isSelected(i),a=t.get().length>1,o=ut(e)||function(e){var t=lt(e)||e;return ct(e)&&t.shiftKey}(e);if(r&&a)return o?t.deselect(i):t.select(i);r?t.deselect(i):t.select(i,o)}}))}function St(e){return!e.hidden}_t.$inject=["eventBus","canvas","selection","styles"],At.$inject=["eventBus","selection","canvas","elementRegistry"];var Rt={__init__:["selectionVisuals","selectionBehavior"],__depends__:[dt,xt],selection:["type",bt],selectionVisuals:["type",_t],selectionBehavior:["type",At]};function Ct(e){this._counter=0,this._prefix=(e?e+"-":"")+Math.floor(1e9*Math.random())+"-"}Ct.prototype.next=function(){return this._prefix+ ++this._counter};var Mt=new Ct("ov");function kt(e,t,n,i){var r,a;this._eventBus=t,this._canvas=n,this._elementRegistry=i,this._ids=Mt,this._overlayDefaults=w({show:null,scale:!0},e&&e.defaults),this._overlays={},this._overlayContainers=[],this._overlayRoot=(r=n.getContainer(),a=Me('<div class="djs-overlay-container" style="position: absolute; width: 0; height: 0;" />'),r.insertBefore(a,r.firstChild),a),this._init()}function Pt(e,t,n){w(e.style,{left:t+"px",top:n+"px"})}function Nt(e,t){e.style.display=!1===t?"none":""}function Tt(e,t){e.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach((function(n){e.style[n+"transform"]=t}))}kt.$inject=["config.overlays","eventBus","canvas","elementRegistry"],kt.prototype.get=function(e){if(p(e)&&(e={id:e}),p(e.element)&&(e.element=this._elementRegistry.get(e.element)),e.element){var t=this._getOverlayContainer(e.element,!0);return t?e.type?h(t.overlays,y({type:e.type})):t.overlays.slice():[]}return e.type?h(this._overlays,y({type:e.type})):e.id?this._overlays[e.id]:null},kt.prototype.add=function(e,t,n){if(o(t)&&(n=t,t=null),e.id||(e=this._elementRegistry.get(e)),!n.position)throw new Error("must specifiy overlay position");if(!n.html)throw new Error("must specifiy overlay html");if(!e)throw new Error("invalid element specified");var i=this._ids.next();return n=w({},this._overlayDefaults,n,{id:i,type:t,element:e,html:n.html}),this._addOverlay(n),i},kt.prototype.remove=function(e){var t=this.get(e)||[];a(t)||(t=[t]);var n=this;m(t,(function(e){var t=n._getOverlayContainer(e.element,!0);if(e&&(Te(e.html),Te(e.htmlContainer),delete e.htmlContainer,delete e.element,delete n._overlays[e.id]),t){var i=t.overlays.indexOf(e);-1!==i&&t.overlays.splice(i,1)}}))},kt.prototype.show=function(){Nt(this._overlayRoot)},kt.prototype.hide=function(){Nt(this._overlayRoot,!1)},kt.prototype.clear=function(){this._overlays={},this._overlayContainers=[],ye(this._overlayRoot)},kt.prototype._updateOverlayContainer=function(e){var t=e.element,n=e.html,i=t.x,r=t.y;if(t.waypoints){var a=yt(t);i=a.x,r=a.y}Pt(n,i,r),function(e,t,n){2==arguments.length?e.getAttribute(t):null===n?e.removeAttribute(t):e.setAttribute(t,n)}(e.html,"data-container-id",t.id)},kt.prototype._updateOverlay=function(e){var t,n,i=e.position,r=e.htmlContainer,a=e.element,o=i.left,s=i.top;void 0!==i.right&&(t=a.waypoints?yt(a).width:a.width,o=-1*i.right+t);void 0!==i.bottom&&(n=a.waypoints?yt(a).height:a.height,s=-1*i.bottom+n);Pt(r,o||0,s||0)},kt.prototype._createOverlayContainer=function(e){var t=Me('<div class="djs-overlays" style="position: absolute" />');this._overlayRoot.appendChild(t);var n={html:t,element:e,overlays:[]};return this._updateOverlayContainer(n),this._overlayContainers.push(n),n},kt.prototype._updateRoot=function(e){var t=e.scale||1,n="matrix("+[t,0,0,t,-1*e.x*t,-1*e.y*t].join(",")+")";Tt(this._overlayRoot,n)},kt.prototype._getOverlayContainer=function(e,t){var n=u(this._overlayContainers,(function(t){return t.element===e}));return n||t?n:this._createOverlayContainer(e)},kt.prototype._addOverlay=function(e){var t,n,i=e.id,r=e.element,a=e.html;a.get&&a.constructor.prototype.jquery&&(a=a.get(0)),p(a)&&(a=Me(a)),n=this._getOverlayContainer(r),(t=Me('<div class="djs-overlay" data-overlay-id="'+i+'" style="position: absolute">')).appendChild(a),e.type&&fe(t).add("djs-overlay-"+e.type);var o=this._canvas.findPlane(r),s=this._canvas.getActivePlane();e.plane=o,o!==s&&Nt(t,!1),e.htmlContainer=t,n.overlays.push(e),n.html.appendChild(t),this._overlays[i]=e,this._updateOverlay(e),this._updateOverlayVisibilty(e,this._canvas.viewbox())},kt.prototype._updateOverlayVisibilty=function(e,t){var n=e.show,i=n&&n.minZoom,a=n&&n.maxZoom,o=e.htmlContainer,s=!0;n&&((r(i)&&i>t.scale||r(a)&&a<t.scale)&&(s=!1),Nt(o,s)),this._updateOverlayScale(e,t)},kt.prototype._updateOverlayScale=function(e,t){var n,i,a,o=e.scale,s=e.htmlContainer,l="";!0!==o&&(!1===o?(n=1,i=1):(n=o.min,i=o.max),r(n)&&t.scale<n&&(a=(1/t.scale||1)*n),r(i)&&t.scale>i&&(a=(1/t.scale||1)*i)),r(a)&&(l="scale("+a+","+a+")"),Tt(s,l)},kt.prototype._updateOverlaysVisibilty=function(e){var t=this;m(this._overlays,(function(n){t._updateOverlayVisibilty(n,e)}))},kt.prototype._init=function(){var e=this._eventBus,t=this;e.on("canvas.viewbox.changing",(function(e){t.hide()})),e.on("canvas.viewbox.changed",(function(e){var n;n=e.viewbox,t._updateRoot(n),t._updateOverlaysVisibilty(n),t.show()})),e.on(["shape.remove","connection.remove"],(function(e){var n=e.element;m(t.get({element:n}),(function(e){t.remove(e.id)}));var i=t._getOverlayContainer(n);if(i){Te(i.html);var r=t._overlayContainers.indexOf(i);-1!==r&&t._overlayContainers.splice(r,1)}})),e.on("element.changed",500,(function(e){var n=e.element,i=t._getOverlayContainer(n,!0);i&&(m(i.overlays,(function(e){t._updateOverlay(e)})),t._updateOverlayContainer(i))})),e.on("element.marker.update",(function(e){var n=t._getOverlayContainer(e.element,!0);n&&fe(n.html)[e.add?"add":"remove"](e.marker)})),e.on("plane.set",(function(e){m(t._overlays,(function(t){Nt(t.htmlContainer,t.plane===e.plane)}))})),e.on("diagram.clear",this.clear,this)};var Dt={__init__:["overlays"],overlays:["type",kt]},Ot=/^class /;function Bt(e){return"[object Array]"===Object.prototype.toString.call(e)}function Lt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function It(){var e=Array.prototype.slice.call(arguments);1===e.length&&Bt(e[0])&&(e=e[0]);var t=e.pop();return t.$inject=e,t}var Ft=/constructor\s*[^(]*\(\s*([^)]*)\)/m,jt=/^(?:async )?(?:function\s*)?[^(]*\(\s*([^)]*)\)/m,Vt=/\/\*([^*]*)\*\//m;function Wt(e){if("function"!=typeof e)throw new Error('Cannot annotate "'+e+'". Expected a function!');var t=e.toString().match(function(e){return Ot.test(e.toString())}(e)?Ft:jt);return t&&t[1]&&t[1].split(",").map((function(e){return(t=e.match(Vt))?t[1].trim():e.trim()}))||[]}function zt(){var e=[];this.factory=function(t,n){return e.push([t,"factory",n]),this},this.value=function(t,n){return e.push([t,"value",n]),this},this.type=function(t,n){return e.push([t,"type",n]),this},this.forEach=function(t){e.forEach(t)}}function Gt(e,t){t=t||{get:function(e,t){if(n.push(e),!1===t)return null;throw o('No provider for "'+e+'"!')}};var n=[],i=this._providers=Object.create(t._providers||null),r=this._instances=Object.create(null),a=r.injector=this,o=function(e){var t=n.join(" -> ");return n.length=0,new Error(t?e+" (Resolving: "+t+")":e)},s=function(e,a){if(!i[e]&&-1!==e.indexOf(".")){for(var l=e.split("."),p=s(l.shift());l.length;)p=p[l.shift()];return p}if(Lt(r,e))return r[e];if(Lt(i,e)){if(-1!==n.indexOf(e))throw n.push(e),o("Cannot resolve circular dependency!");return n.push(e),r[e]=i[e][0](i[e][1]),n.pop(),r[e]}return t.get(e,a)},l=function(e,t){if(void 0===t&&(t={}),"function"!=typeof e){if(!Bt(e))throw new Error('Cannot invoke "'+e+'". Expected a function!');e=It(e.slice())}return{fn:e,dependencies:(e.$inject||Wt(e)).map((function(e){return Lt(t,e)?t[e]:s(e)}))}},p=function(e){var t=l(e),n=t.fn,i=t.dependencies;return new(Function.prototype.bind.apply(n,[null].concat(i)))},c=function(e,t,n){var i=l(e,n),r=i.fn,a=i.dependencies;return r.apply(t,a)},u=function(e){return It((function(t){return e.get(t)}))},h={factory:c,type:p,value:function(e){return e}};e.forEach((function(e){function t(e,t){return"value"!==e&&Bt(t)&&(t=It(t.slice())),t}if(e instanceof zt)e.forEach((function(e){var n=e[0],r=e[1],a=e[2];i[n]=[h[r],t(r,a),r]}));else if("object"==typeof e)if(e.__exports__){var n=Object.keys(e).reduce((function(t,n){return"__"!==n.substring(0,2)&&(t[n]=e[n]),t}),Object.create(null)),r=new Gt((e.__modules__||[]).concat([n]),a),o=It((function(e){return r.get(e)}));e.__exports__.forEach((function(e){i[e]=[o,e,"private",r]}))}else Object.keys(e).forEach((function(n){if("private"!==e[n][2]){var r=e[n][0],a=e[n][1];i[n]=[h[r],t(r,a),r]}else i[n]=e[n]}))})),this.get=s,this.invoke=c,this.instantiate=p,this.createChild=function(e,t){if(t&&t.length){var n,r,o,s,l=Object.create(null),p=Object.create(null),c=[],h=[],m=[];for(var f in i)n=i[f],-1!==t.indexOf(f)&&("private"===n[2]?-1===(r=c.indexOf(n[3]))?(o=n[3].createChild([],t),s=u(o),c.push(n[3]),h.push(o),m.push(s),l[f]=[s,f,"private",o]):l[f]=[m[r],f,"private",h[r]]:l[f]=[n[2],n[1]],p[f]=!0),"factory"!==n[2]&&"type"!==n[2]||!n[1].$scope||t.forEach((function(e){-1!==n[1].$scope.indexOf(e)&&(l[f]=[n[2],n[1]],p[e]=!0)}));t.forEach((function(e){if(!p[e])throw new Error('No provider for "'+e+'". Cannot use provider from the parent!')})),e.unshift(l)}return new Gt(e,a)}}function Ht(e,t){E.call(this,e,1),this.CONNECTION_STYLE=t.style(["no-fill"],{strokeWidth:5,stroke:"fuchsia"}),this.SHAPE_STYLE=t.style({fill:"white",stroke:"fuchsia",strokeWidth:2}),this.FRAME_STYLE=t.style(["no-fill"],{stroke:"fuchsia",strokeDasharray:4,strokeWidth:2})}t(Ht,E),Ht.prototype.canRender=function(){return!0},Ht.prototype.drawShape=function(e,t){var n=z("rect");return N(n,{x:0,y:0,width:t.width||0,height:t.height||0}),gt(t)?N(n,this.FRAME_STYLE):N(n,this.SHAPE_STYLE),M(e,n),n},Ht.prototype.drawConnection=function(e,t){var n=ie(t.waypoints,this.CONNECTION_STYLE);return M(e,n),n},Ht.prototype.getShapePath=function(e){var t=e.x,n=e.y,i=e.width;return te([["M",t,n],["l",i,0],["l",0,e.height],["l",-i,0],["z"]])},Ht.prototype.getConnectionPath=function(e){var t,n,i=e.waypoints,r=[];for(t=0;n=i[t];t++)n=n.original||n,r.push([0===t?"M":"L",n.x,n.y]);return te(r)},Ht.$inject=["eventBus","styles"];var $t={__init__:["defaultRenderer"],defaultRenderer:["type",Ht],styles:["type",function(){var e={"no-fill":{fill:"none"},"no-border":{strokeOpacity:0},"no-events":{pointerEvents:"none"}},t=this;this.cls=function(e,t,n){return w(this.style(t,n),{class:e})},this.style=function(t,n){a(t)||n||(n=t,t=[]);var i=f(t,(function(t,n){return w(t,e[n]||{})}),{});return n?w(i,n):i},this.computeStyle=function(e,n,i){return a(n)||(i=n,n=[]),t.style(n||[],w({},i,e||{}))}}]};function Kt(e,t){return Math.round(e*t)/t}function Ut(e){return s(e)?e+"px":e}function qt(e,t,n){var i=z("g");L(i).add(t);var r=void 0!==n?n:e.childNodes.length-1;return e.insertBefore(i,e.childNodes[r]||null),i}var Yt="base",Xt="djs-element-hidden",Zt={shape:["x","y","width","height"],connection:["waypoints"]};function Jt(e,t,n,i){this._eventBus=t,this._elementRegistry=i,this._graphicsFactory=n,this._init(e||{})}function Qt(e,t){var n="matrix("+t.a+","+t.b+","+t.c+","+t.d+","+t.e+","+t.f+")";e.setAttribute("transform",n)}Jt.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],Jt.prototype._init=function(e){var t=this._eventBus,n=this._container=function(e){var t=(e=w({},{width:"100%",height:"100%"},e)).container||document.body,n=document.createElement("div");return n.setAttribute("class","djs-container"),w(n.style,{position:"relative",overflow:"hidden",width:Ut(e.width),height:Ut(e.height)}),t.appendChild(n),n}(e),i=this._svg=z("svg");N(i,{width:"100%",height:"100%"}),M(n,i);var r=this._viewport=qt(i,"viewport");this._layers={},this._planes={},!1!==e.deferUpdate&&(this._viewboxChanged=function(e,t){var n,i,r,a;function o(){var o=Date.now(),l=a+t-o;if(l>0)return s(l);e.apply(r,i),n=a=i=r=void 0}function s(e){n=setTimeout(o,e)}return function(){a=Date.now();for(var e=arguments.length,o=new Array(e),l=0;l<e;l++)o[l]=arguments[l];i=o,r=this,n||s(t)}}(x(this._viewboxChanged,this),300)),t.on("diagram.init",(function(){t.fire("canvas.init",{svg:i,viewport:r})}),this),t.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed"],(function(){delete this._cachedViewbox}),this),t.on("diagram.destroy",500,this._destroy,this),t.on("diagram.clear",500,this._clear,this)},Jt.prototype._destroy=function(e){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});var t=this._container.parentNode;t&&t.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._planes,delete this._activePlane,delete this._viewport},Jt.prototype._clear=function(){var e=this;this._elementRegistry.getAll().forEach((function(t){var n=function(e){return"waypoints"in e?"connection":"x"in e?"shape":"root"}(t);"root"===n?e.setRootElementForPlane(null,e.findPlane(t),!0):e._removeElement(t,n)})),this._activePlane=null,this._planes={},delete this._cachedViewbox},Jt.prototype.getDefaultLayer=function(){return this.getLayer(Yt)},Jt.prototype.getLayer=function(e,t){if(!e)throw new Error("must specify a name");var n=this._layers[e];if(n||(n=this._layers[e]=this._createLayer(e,t)),void 0!==t&&n.index!==t)throw new Error("layer <"+e+"> already created at index <"+t+">");return n.group},Jt.prototype._createLayer=function(e,t){t||(t=0);var n=f(this._layers,(function(e,n){return t>=n.index&&e++,e}),0);return{group:qt(this._viewport,"layer-"+e,n),index:t}},Jt.prototype.getPlane=function(e){if(!e)throw new Error("must specify a name");return this._planes[e]},Jt.prototype.createPlane=function(e,t){if(!e)throw new Error("must specify a name");if(this._planes[e])throw new Error("plane "+e+" already exists");t||(t={id:"__implicitroot"+e,children:[],isImplicit:!0});var n=this.getLayer(e);L(n).add(Xt);var i=this._planes[e]={layer:n,name:e,rootElement:null};return this.setRootElementForPlane(t,i),i},Jt.prototype.setActivePlane=function(e){if(!e)throw new Error("must specify a plane");return"string"==typeof e&&(e=this.getPlane(e)),this._activePlane&&L(this._activePlane.layer).add(Xt),this._activePlane=e,L(e.layer).remove(Xt),e.rootElement&&this._elementRegistry.updateGraphics(e.rootElement,this._svg,!0),this._eventBus.fire("plane.set",{plane:e}),e},Jt.prototype.getActiveLayer=function(){return this.getActivePlane().layer},Jt.prototype.getActivePlane=function(){var e=this._activePlane;return e||(e=this.createPlane(Yt),this.setActivePlane(Yt)),e},Jt.prototype.findPlane=function(e){"string"==typeof e&&(e=this._elementRegistry.get(e));var t=function(e){for(;e.parent;)e=e.parent;return e}(e);return u(this._planes,(function(e){return e.rootElement===t}))},Jt.prototype.getContainer=function(){return this._container},Jt.prototype._updateMarker=function(e,t,n){var i;e.id||(e=this._elementRegistry.get(e)),(i=this._elementRegistry._elements[e.id])&&(m([i.gfx,i.secondaryGfx],(function(e){e&&(n?L(e).add(t):L(e).remove(t))})),this._eventBus.fire("element.marker.update",{element:e,gfx:i.gfx,marker:t,add:!!n}))},Jt.prototype.addMarker=function(e,t){this._updateMarker(e,t,!0)},Jt.prototype.removeMarker=function(e,t){this._updateMarker(e,t,!1)},Jt.prototype.hasMarker=function(e,t){return e.id||(e=this._elementRegistry.get(e)),L(this.getGraphics(e)).has(t)},Jt.prototype.toggleMarker=function(e,t){this.hasMarker(e,t)?this.removeMarker(e,t):this.addMarker(e,t)},Jt.prototype.getRootElement=function(){return this.getActivePlane().rootElement},Jt.prototype.setRootElement=function(e,t){var n=this._activePlane;if(n)return this.setRootElementForPlane(e,n,t);var i=this.createPlane(Yt,e);return this.setActivePlane(i),i.rootElement},Jt.prototype.setRootElementForPlane=function(e,t,n){"string"==typeof t&&(t=this.getPlane(t)),e&&this._ensureValid("root",e);var i=t.rootElement,r=this._elementRegistry,a=this._eventBus;if(i){if(!n)throw new Error("rootElement already set, need to specify override");a.fire("root.remove",{element:i}),a.fire("root.removed",{element:i}),r.remove(i)}if(e){var o=t.layer;a.fire("root.add",{element:e}),r.add(e,o),a.fire("root.added",{element:e,gfx:o}),t===this._activePlane&&this._elementRegistry.updateGraphics(e,this._svg,!0)}return t.rootElement=e,e},Jt.prototype._ensureValid=function(e,t){if(!t.id)throw new Error("element must have an id");if(this._elementRegistry.get(t.id))throw new Error("element with id "+t.id+" already exists");var n=Zt[e];if(!d(n,(function(e){return void 0!==t[e]})))throw new Error("must supply { "+n.join(", ")+" } with "+e)},Jt.prototype._setParent=function(e,t,n){!function(e,t,n){if(e&&t){"number"!=typeof n&&(n=-1);var i=e.indexOf(t);if(-1!==i){if(i===n)return;if(-1===n)return;e.splice(i,1)}-1!==n?e.splice(n,0,t):e.push(t)}}(t.children,e,n),e.parent=t},Jt.prototype._addElement=function(e,t,n,i){n=n||this.getRootElement();var r=this._eventBus,a=this._graphicsFactory;this._ensureValid(e,t),r.fire(e+".add",{element:t,parent:n}),this._setParent(t,n,i);var o=a.create(e,t,i);return this._elementRegistry.add(t,o),a.update(e,t,o),r.fire(e+".added",{element:t,gfx:o}),t},Jt.prototype.addShape=function(e,t,n){return this._addElement("shape",e,t,n)},Jt.prototype.addConnection=function(e,t,n){return this._addElement("connection",e,t,n)},Jt.prototype._removeElement=function(e,t){var n=this._elementRegistry,i=this._graphicsFactory,r=this._eventBus;if(e=n.get(e.id||e))return r.fire(t+".remove",{element:e}),i.remove(e),function(e,t){if(!e||!t)return-1;var n=e.indexOf(t);-1!==n&&e.splice(n,1)}(e.parent&&e.parent.children,e),e.parent=null,r.fire(t+".removed",{element:e}),n.remove(e),e},Jt.prototype.removeShape=function(e){return this._removeElement(e,"shape")},Jt.prototype.removeConnection=function(e){return this._removeElement(e,"connection")},Jt.prototype.getGraphics=function(e,t){return this._elementRegistry.getGraphics(e,t)},Jt.prototype._changeViewbox=function(e){this._eventBus.fire("canvas.viewbox.changing"),e.apply(this),this._cachedViewbox=null,this._viewboxChanged()},Jt.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},Jt.prototype.viewbox=function(e){if(void 0===e&&this._cachedViewbox)return this._cachedViewbox;var t,n,i,r,a,o,s=this._viewport,l=this.getSize();return e?(this._changeViewbox((function(){r=Math.min(l.width/e.width,l.height/e.height);var t=this._svg.createSVGMatrix().scale(r).translate(-e.x,-e.y);ee(s,t)})),e):(t=this.getDefaultLayer().getBBox(),n=(i=ee(s))?i.matrix:function(e,t,n,i,r,a){var o=G.createSVGMatrix();switch(arguments.length){case 0:return o;case 1:return H(o,e);case 6:return H(o,{a:e,b:t,c:n,d:i,e:r,f:a})}}(),r=Kt(n.a,1e3),a=Kt(-n.e||0,1e3),o=Kt(-n.f||0,1e3),e=this._cachedViewbox={x:a?a/r:0,y:o?o/r:0,width:l.width/r,height:l.height/r,scale:r,inner:{width:t.width,height:t.height,x:t.x,y:t.y},outer:l})},Jt.prototype.scroll=function(e){var t=this._viewport,n=t.getCTM();return e&&this._changeViewbox((function(){e=w({dx:0,dy:0},e||{}),n=this._svg.createSVGMatrix().translate(e.dx,e.dy).multiply(n),Qt(t,n)})),{x:n.e,y:n.f}},Jt.prototype.scrollToElement=function(e,t){var n=100,i=this.findPlane(e);i!==this._activePlane&&this.setActivePlane(i),t||(t={}),"number"==typeof t&&(n=t),t={top:t.top||n,right:t.right||n,bottom:t.bottom||n,left:t.left||n};var r,a,o=yt(e),s=et(o),l=this.viewbox(),p=this.zoom();l.y+=t.top/p,l.x+=t.left/p,l.width-=(t.right+t.left)/p,l.height-=(t.bottom+t.top)/p;var c=et(l);if(o.width<l.width&&o.height<l.height){var u=Math.max(0,s.right-c.right),h=Math.min(0,s.left-c.left),m=Math.max(0,s.bottom-c.bottom),f=Math.min(0,s.top-c.top);r=u||h,a=m||f}else r=o.x-l.x,a=o.y-l.y;this.scroll({dx:-r*p,dy:-a*p})},Jt.prototype.zoom=function(e,t){return e?"fit-viewport"===e?this._fitViewport(t):(this._changeViewbox((function(){"object"!=typeof t&&(n=this.viewbox().outer,t={x:n.width/2,y:n.height/2}),i=this._setZoom(e,t)})),Kt(i.a,1e3)):this.viewbox(e).scale;var n,i},Jt.prototype._fitViewport=function(e){var t,n,i=this.viewbox(),r=i.outer,a=i.inner;return a.x>=0&&a.y>=0&&a.x+a.width<=r.width&&a.y+a.height<=r.height&&!e?n={x:0,y:0,width:Math.max(a.width+a.x,r.width),height:Math.max(a.height+a.y,r.height)}:(t=Math.min(1,r.width/a.width,r.height/a.height),n={x:a.x+(e?a.width/2-r.width/t/2:0),y:a.y+(e?a.height/2-r.height/t/2:0),width:r.width/t,height:r.height/t}),this.viewbox(n),this.viewbox(!1).scale},Jt.prototype._setZoom=function(e,t){var n,i,r,a,o=this._svg,s=this._viewport,l=o.createSVGMatrix(),p=o.createSVGPoint(),c=(i=s.getCTM()).a;return t?(n=w(p,t).matrixTransform(i.inverse()),r=l.translate(n.x,n.y).scale(1/c*e).translate(-n.x,-n.y),a=i.multiply(r)):a=l.scale(e),Qt(this._viewport,a),a},Jt.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},Jt.prototype.getAbsoluteBBox=function(e){var t,n=this.viewbox();e.waypoints?t=this.getGraphics(e).getBBox():t=e;return{x:t.x*n.scale-n.x*n.scale,y:t.y*n.scale-n.y*n.scale,width:t.width*n.scale,height:t.height*n.scale}},Jt.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")};var en="data-element-id";function tn(e){this._elements={},this._eventBus=e}tn.$inject=["eventBus"],tn.prototype.add=function(e,t,n){var i=e.id;this._validateId(i),N(t,en,i),n&&N(n,en,i),this._elements[i]={element:e,gfx:t,secondaryGfx:n}},tn.prototype.remove=function(e){var t=this._elements,n=e.id||e,i=n&&t[n];i&&(N(i.gfx,en,""),i.secondaryGfx&&N(i.secondaryGfx,en,""),delete t[n])},tn.prototype.updateId=function(e,t){this._validateId(t),"string"==typeof e&&(e=this.get(e)),this._eventBus.fire("element.updateId",{element:e,newId:t});var n=this.getGraphics(e),i=this.getGraphics(e,!0);this.remove(e),e.id=t,this.add(e,n,i)},tn.prototype.updateGraphics=function(e,t,n){var i=e.id||e,r=this._elements[i];return n?r.secondaryGfx=t:r.gfx=t,N(t,en,i),t},tn.prototype.get=function(e){var t;t="string"==typeof e?e:e&&N(e,en);var n=this._elements[t];return n&&n.element},tn.prototype.filter=function(e){var t=[];return this.forEach((function(n,i){e(n,i)&&t.push(n)})),t},tn.prototype.find=function(e){for(var t=this._elements,n=Object.keys(t),i=0;i<n.length;i++){var r=t[n[i]],a=r.element;if(e(a,r.gfx))return a}},tn.prototype.getAll=function(){return this.filter((function(e){return e}))},tn.prototype.forEach=function(e){var t=this._elements;Object.keys(t).forEach((function(n){var i=t[n],r=i.element,a=i.gfx;return e(r,a)}))},tn.prototype.getGraphics=function(e,t){var n=e.id||e,i=this._elements[n];return i&&(t?i.secondaryGfx:i.gfx)},tn.prototype._validateId=function(e){if(!e)throw new Error("element must have an id");if(this._elements[e])throw new Error("element with id "+e+" already added")};var nn={exports:{}},rn={};rn.extend=function(e,t,n,i){var r=n.inverse;return Object.defineProperty(e,"remove",{value:function(e){var n=this.indexOf(e);return-1!==n&&(this.splice(n,1),t.unset(e,r,i)),e}}),Object.defineProperty(e,"contains",{value:function(e){return-1!==this.indexOf(e)}}),Object.defineProperty(e,"add",{value:function(e,n){var a=this.indexOf(e);if(void 0===n){if(-1!==a)return;n=this.length}-1!==a&&this.splice(a,1),this.splice(n,0,e),-1===a&&t.set(e,r,i)}}),Object.defineProperty(e,"__refs_collection",{value:!0}),e},rn.isExtended=function(e){return!0===e.__refs_collection};var an=rn;function on(e,t,n){var i=an.extend(n[t.name]||[],e,t,n);Object.defineProperty(n,t.name,{enumerable:t.enumerable,value:i}),i.length&&i.forEach((function(i){e.set(i,t.inverse,n)}))}function sn(e,t){if(!(this instanceof sn))return new sn(e,t);e.inverse=t,t.inverse=e,this.props={},this.props[e.name]=e,this.props[t.name]=t}sn.prototype.bind=function(e,t){if("string"==typeof t){if(!this.props[t])throw new Error("no property <"+t+"> in ref");t=this.props[t]}t.collection?on(this,t,e):function(e,t,n){var i=t.inverse,r=n[t.name];Object.defineProperty(n,t.name,{configurable:t.configurable,enumerable:t.enumerable,get:function(){return r},set:function(t){if(t!==r){var a=r;r=null,a&&e.unset(a,i,n),r=t,e.set(r,i,n)}}})}(this,t,e)},sn.prototype.ensureRefsCollection=function(e,t){var n=e[t.name];return an.isExtended(n)||on(this,t,e),n},sn.prototype.ensureBound=function(e,t){(function(e,t){return Object.prototype.hasOwnProperty.call(e,t.name||t)})(e,t)||this.bind(e,t)},sn.prototype.unset=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).remove(n):e[t.name]=void 0)},sn.prototype.set=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).add(n):e[t.name]=n)};var ln=sn;nn.exports=ln,nn.exports.Collection=rn;var pn=nn.exports,cn=new pn({name:"children",enumerable:!0,collection:!0},{name:"parent"}),un=new pn({name:"labels",enumerable:!0,collection:!0},{name:"labelTarget"}),hn=new pn({name:"attachers",collection:!0},{name:"host"}),mn=new pn({name:"outgoing",collection:!0},{name:"source"}),fn=new pn({name:"incoming",collection:!0},{name:"target"});function dn(){Object.defineProperty(this,"businessObject",{writable:!0}),Object.defineProperty(this,"label",{get:function(){return this.labels[0]},set:function(e){var t=this.label,n=this.labels;!e&&t?n.remove(t):n.add(e,0)}}),cn.bind(this,"parent"),un.bind(this,"labels"),mn.bind(this,"outgoing"),fn.bind(this,"incoming")}function yn(){dn.call(this),cn.bind(this,"children"),hn.bind(this,"host"),hn.bind(this,"attachers")}function gn(){yn.call(this)}function vn(){yn.call(this),un.bind(this,"labelTarget")}function xn(){dn.call(this),mn.bind(this,"source"),fn.bind(this,"target")}t(yn,dn),t(gn,yn),t(vn,yn),t(xn,dn);var bn={connection:xn,shape:yn,label:vn,root:gn};function wn(){this._uid=12}wn.prototype.createRoot=function(e){return this.create("root",e)},wn.prototype.createLabel=function(e){return this.create("label",e)},wn.prototype.createShape=function(e){return this.create("shape",e)},wn.prototype.createConnection=function(e){return this.create("connection",e)},wn.prototype.create=function(e,t){return(t=w({},t||{})).id||(t.id=e+"_"+this._uid++),function(e,t){var n=bn[e];if(!n)throw new Error("unknown type: <"+e+">");return w(new n,t)}(e,t)};var En=Array.prototype.slice;function _n(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function An(){}function Sn(e,t){this._eventBus=e,this._elementRegistry=t}function Rn(e,t,n){var i=n||t.firstChild;e!==i&&t.insertBefore(e,i)}_n.prototype.on=function(e,t,n,i){if(e=a(e)?e:[e],l(t)&&(i=n,n=t,t=1e3),!s(t))throw new Error("priority must be a number");var r=n;i&&((r=x(n,i)).__fn=n.__fn||n);var o=this;e.forEach((function(e){o._addListener(e,{priority:t,callback:r,next:null})}))},_n.prototype.once=function(e,t,n,i){var r=this;if(l(t)&&(i=n,n=t,t=1e3),!s(t))throw new Error("priority must be a number");function a(){a.__isTomb=!0;var t=n.apply(i,arguments);return r.off(e,a),t}a.__fn=n,this.on(e,t,a)},_n.prototype.off=function(e,t){e=a(e)?e:[e];var n=this;e.forEach((function(e){n._removeListener(e,t)}))},_n.prototype.createEvent=function(e){var t=new An;return t.init(e),t},_n.prototype.fire=function(e,t){var n,i,r,a;if(a=En.call(arguments),"object"==typeof e&&(e=(t=e).type),!e)throw new Error("no event type specified");if(i=this._listeners[e]){n=t instanceof An?t:this.createEvent(t),a[0]=n;var o=n.type;e!==o&&(n.type=e);try{r=this._invokeListeners(n,a,i)}finally{e!==o&&(n.type=o)}return void 0===r&&n.defaultPrevented&&(r=!1),r}},_n.prototype.handleError=function(e){return!1===this.fire("error",{error:e})},_n.prototype._destroy=function(){this._listeners={}},_n.prototype._invokeListeners=function(e,t,n){for(var i;n&&!e.cancelBubble;)i=this._invokeListener(e,t,n),n=n.next;return i},_n.prototype._invokeListener=function(e,t,n){var i;if(n.callback.__isTomb)return i;try{void 0!==(i=function(e,t){return e.apply(null,t)}(n.callback,t))&&(e.returnValue=i,e.stopPropagation()),!1===i&&e.preventDefault()}catch(e){if(!this.handleError(e))throw console.error("unhandled error in event listener",e),e}return i},_n.prototype._addListener=function(e,t){var n,i=this._getListeners(e);if(i){for(;i;){if(i.priority<t.priority)return t.next=i,void(n?n.next=t:this._setListeners(e,t));n=i,i=i.next}n.next=t}else this._setListeners(e,t)},_n.prototype._getListeners=function(e){return this._listeners[e]},_n.prototype._setListeners=function(e,t){this._listeners[e]=t},_n.prototype._removeListener=function(e,t){var n,i,r,a=this._getListeners(e);if(t)for(;a;)n=a.next,(r=a.callback)!==t&&r.__fn!==t||(i?i.next=n:this._setListeners(e,n)),i=a,a=n;else this._setListeners(e,null)},An.prototype.stopPropagation=function(){this.cancelBubble=!0},An.prototype.preventDefault=function(){this.defaultPrevented=!0},An.prototype.init=function(e){w(this,e||{})},Sn.$inject=["eventBus","elementRegistry"],Sn.prototype._getChildrenContainer=function(e){var t,n=this._elementRegistry.getGraphics(e);return e.parent?(t=function(e){return e.parentNode.childNodes[1]}(n))||(L(t=z("g")).add("djs-children"),M(n.parentNode,t)):t=n,t},Sn.prototype._clear=function(e){var t=function(e){return e.childNodes[0]}(e);return ye(t),t},Sn.prototype._createContainer=function(e,t,n,i){var r=z("g");L(r).add("djs-group"),void 0!==n?Rn(r,t,t.childNodes[n]):M(t,r);var a=z("g");L(a).add("djs-element"),L(a).add("djs-"+e),i&&L(a).add("djs-frame"),M(r,a);var o=z("g");return L(o).add("djs-visual"),M(a,o),a},Sn.prototype.create=function(e,t,n){var i=this._getChildrenContainer(t.parent);return this._createContainer(e,i,n,gt(t))},Sn.prototype.updateContainments=function(e){var t=this,n=this._elementRegistry;m(f(e,(function(e,t){return t.parent&&(e[t.parent.id]=t.parent),e}),{}),(function(e){var i=e.children;if(i){var r=t._getChildrenContainer(e);m(i.slice().reverse(),(function(e){Rn(n.getGraphics(e).parentNode,r)}))}}))},Sn.prototype.drawShape=function(e,t){return this._eventBus.fire("render.shape",{gfx:e,element:t})},Sn.prototype.getShapePath=function(e){return this._eventBus.fire("render.getShapePath",e)},Sn.prototype.drawConnection=function(e,t){return this._eventBus.fire("render.connection",{gfx:e,element:t})},Sn.prototype.getConnectionPath=function(e){return this._eventBus.fire("render.getConnectionPath",e)},Sn.prototype.update=function(e,t,n){if(t.parent){var i=this._clear(n);if("shape"===e)this.drawShape(i,t),Oe(n,t.x,t.y);else{if("connection"!==e)throw new Error("unknown type: "+e);this.drawConnection(i,t)}t.hidden?N(n,"display","none"):N(n,"display","block")}},Sn.prototype.remove=function(e){F(this._elementRegistry.getGraphics(e).parentNode)};var Cn={__depends__:[$t],__init__:["canvas"],canvas:["type",Jt],elementRegistry:["type",tn],elementFactory:["type",wn],eventBus:["type",_n],graphicsFactory:["type",Sn]};function Mn(e){var t=[],n=[];function i(e){return t.indexOf(e)>=0}e.forEach((function e(r){i(r)||((r.__depends__||[]).forEach(e),i(r)||(!function(e){t.push(e)}(r),(r.__init__||[]).forEach((function(e){n.push(e)}))))}));var r=new Gt(t);return n.forEach((function(e){try{r["string"==typeof e?"get":"invoke"](e)}catch(e){throw console.error("Failed to instantiate component"),console.error(e.stack),e}})),r}function kn(e,t){this.injector=t=t||function(e){return Mn([{config:["value",e=e||{}]},Cn].concat(e.modules||[]))}(e),this.get=t.get,this.invoke=t.invoke,this.get("eventBus").fire("diagram.init")}function Pn(){}function Nn(e,t){this.model=e,this.properties=t}kn.prototype.destroy=function(){this.get("eventBus").fire("diagram.destroy")},kn.prototype.clear=function(){this.get("eventBus").fire("diagram.clear")},Pn.prototype.get=function(e){return this.$model.properties.get(this,e)},Pn.prototype.set=function(e,t){this.$model.properties.set(this,e,t)},Nn.prototype.createType=function(e){var t=this.model,n=this.properties,i=Object.create(Pn.prototype);m(e.properties,(function(e){e.isMany||void 0===e.default||(i[e.name]=e.default)})),n.defineModel(i,t),n.defineDescriptor(i,e);var r=e.ns.name;function a(e){n.define(this,"$type",{value:r,enumerable:!0}),n.define(this,"$attrs",{value:{}}),n.define(this,"$parent",{writable:!0}),m(e,x((function(e,t){this.set(t,e)}),this))}return a.prototype=i,a.hasType=i.$instanceOf=this.model.hasType,n.defineModel(a,t),n.defineDescriptor(a,e),a};var Tn={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},Dn={String:function(e){return e},Boolean:function(e){return"true"===e},Integer:function(e){return parseInt(e,10)},Real:function(e){return parseFloat(e)}};function On(e,t){var n=Dn[e];return n?n(t):t}function Bn(e){return!!Tn[e]}function Ln(e){return!!Dn[e]}function In(e,t){var n,i,r=e.split(/:/);if(1===r.length)n=e,i=t;else{if(2!==r.length)throw new Error("expected <prefix:localName> or <localName>, got "+e);n=r[1],i=r[0]}return{name:e=(i?i+":":"")+n,prefix:i,localName:n}}function Fn(e){this.ns=e,this.name=e.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function jn(e,t){this.packageMap={},this.typeMap={},this.packages=[],this.properties=t,m(e,x(this.registerPackage,this))}function Vn(e,t,n){var i=t[n];if(i in e)throw new Error("package with "+n+" <"+i+"> already defined")}function Wn(e){this.model=e}function zn(e,t,n){Object.defineProperty(e,t.name,{enumerable:!t.isReference,writable:!0,value:n,configurable:!0})}function Gn(e){this.properties=new Wn(this),this.factory=new Nn(this,this.properties),this.registry=new jn(e,this.properties),this.typeCache={}}Fn.prototype.build=function(){return e=this,t=["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"],n={},i=Object(e),m(t,(function(t){t in i&&(n[t]=e[t])})),n;var e,t,n,i},Fn.prototype.addProperty=function(e,t,n){"boolean"==typeof t&&(n=t,t=void 0),this.addNamedProperty(e,!1!==n);var i=this.properties;void 0!==t?i.splice(t,0,e):i.push(e)},Fn.prototype.replaceProperty=function(e,t,n){var i=e.ns,r=this.properties,a=this.propertiesByName,o=e.name!==t.name;if(e.isId){if(!t.isId)throw new Error("property <"+t.ns.name+"> must be id property to refine <"+e.ns.name+">");this.setIdProperty(t,!1)}if(e.isBody){if(!t.isBody)throw new Error("property <"+t.ns.name+"> must be body property to refine <"+e.ns.name+">");this.setBodyProperty(t,!1)}var s=r.indexOf(e);if(-1===s)throw new Error("property <"+i.name+"> not found in property list");r.splice(s,1),this.addProperty(t,n?void 0:s,o),a[i.name]=a[i.localName]=t},Fn.prototype.redefineProperty=function(e,t,n){var i=e.ns.prefix,r=t.split("#"),a=In(r[0],i),o=In(r[1],a.prefix).name,s=this.propertiesByName[o];if(!s)throw new Error("refined property <"+o+"> not found");this.replaceProperty(s,e,n),delete e.redefines},Fn.prototype.addNamedProperty=function(e,t){var n=e.ns,i=this.propertiesByName;t&&(this.assertNotDefined(e,n.name),this.assertNotDefined(e,n.localName)),i[n.name]=i[n.localName]=e},Fn.prototype.removeNamedProperty=function(e){var t=e.ns,n=this.propertiesByName;delete n[t.name],delete n[t.localName]},Fn.prototype.setBodyProperty=function(e,t){if(t&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+e.ns.name+">)");this.bodyProperty=e},Fn.prototype.setIdProperty=function(e,t){if(t&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+e.ns.name+">)");this.idProperty=e},Fn.prototype.assertNotDefined=function(e,t){var n=e.name,i=this.propertiesByName[n];if(i)throw new Error("property <"+n+"> already defined; override of <"+i.definedBy.ns.name+"#"+i.ns.name+"> by <"+e.definedBy.ns.name+"#"+e.ns.name+"> not allowed without redefines")},Fn.prototype.hasProperty=function(e){return this.propertiesByName[e]},Fn.prototype.addTrait=function(e,t){var n=this.allTypesByName,i=this.allTypes,r=e.name;r in n||(m(e.properties,x((function(n){n=w({},n,{name:n.ns.localName,inherited:t}),Object.defineProperty(n,"definedBy",{value:e});var i=n.replaces,r=n.redefines;i||r?this.redefineProperty(n,i||r,i):(n.isBody&&this.setBodyProperty(n),n.isId&&this.setIdProperty(n),this.addProperty(n))}),this)),i.push(e),n[r]=e)},jn.prototype.getPackage=function(e){return this.packageMap[e]},jn.prototype.getPackages=function(){return this.packages},jn.prototype.registerPackage=function(e){e=w({},e);var t=this.packageMap;Vn(t,e,"prefix"),Vn(t,e,"uri"),m(e.types,x((function(t){this.registerType(t,e)}),this)),t[e.uri]=t[e.prefix]=e,this.packages.push(e)},jn.prototype.registerType=function(e,t){var n=In((e=w({},e,{superClass:(e.superClass||[]).slice(),extends:(e.extends||[]).slice(),properties:(e.properties||[]).slice(),meta:w(e.meta||{})})).name,t.prefix),i=n.name,r={};m(e.properties,x((function(e){var t=In(e.name,n.prefix),i=t.name;Bn(e.type)||(e.type=In(e.type,t.prefix).name),w(e,{ns:t,name:i}),r[i]=e}),this)),w(e,{ns:n,name:i,propertiesByName:r}),m(e.extends,x((function(e){var t=this.typeMap[e];t.traits=t.traits||[],t.traits.push(i)}),this)),this.definePackage(e,t),this.typeMap[i]=e},jn.prototype.mapTypes=function(e,t,n){var i=Bn(e.name)?{name:e.name}:this.typeMap[e.name],r=this;function a(e){return o(e,!0)}function o(n,i){var a=In(n,Bn(n)?"":e.prefix);r.mapTypes(a,t,i)}if(!i)throw new Error("unknown type <"+e.name+">");m(i.superClass,n?a:o),t(i,!n),m(i.traits,a)},jn.prototype.getEffectiveDescriptor=function(e){var t=In(e),n=new Fn(t);this.mapTypes(t,(function(e,t){n.addTrait(e,t)}));var i=n.build();return this.definePackage(i,i.allTypes[i.allTypes.length-1].$pkg),i},jn.prototype.definePackage=function(e,t){this.properties.define(e,"$pkg",{value:t})},Wn.prototype.set=function(e,t,n){var i=this.model.getPropertyDescriptor(e,t),r=i&&i.name;void 0===n?i?delete e[r]:delete e.$attrs[t]:i?r in e?e[r]=n:zn(e,i,n):e.$attrs[t]=n},Wn.prototype.get=function(e,t){var n=this.model.getPropertyDescriptor(e,t);if(!n)return e.$attrs[t];var i=n.name;return!e[i]&&n.isMany&&zn(e,n,[]),e[i]},Wn.prototype.define=function(e,t,n){Object.defineProperty(e,t,n)},Wn.prototype.defineDescriptor=function(e,t){this.define(e,"$descriptor",{value:t})},Wn.prototype.defineModel=function(e,t){this.define(e,"$model",{value:t})},Gn.prototype.create=function(e,t){var n=this.getType(e);if(!n)throw new Error("unknown type <"+e+">");return new n(t)},Gn.prototype.getType=function(e){var t=this.typeCache,n=p(e)?e:e.ns.name,i=t[n];return i||(e=this.registry.getEffectiveDescriptor(n),i=t[n]=this.factory.createType(e)),i},Gn.prototype.createAny=function(e,t,n){var i=In(e),r={$type:e,$instanceOf:function(e){return e===this.$type}},a={name:e,isGeneric:!0,ns:{prefix:i.prefix,localName:i.localName,uri:t}};return this.properties.defineDescriptor(r,a),this.properties.defineModel(r,this),this.properties.define(r,"$parent",{enumerable:!1,writable:!0}),this.properties.define(r,"$instanceOf",{enumerable:!1,writable:!0}),m(n,(function(e,t){o(e)&&void 0!==e.value?r[e.name]=e.value:r[t]=e})),r},Gn.prototype.getPackage=function(e){return this.registry.getPackage(e)},Gn.prototype.getPackages=function(){return this.registry.getPackages()},Gn.prototype.getElementDescriptor=function(e){return e.$descriptor},Gn.prototype.hasType=function(e,t){return void 0===t&&(t=e,e=this),t in e.$model.getElementDescriptor(e).allTypesByName},Gn.prototype.getPropertyDescriptor=function(e,t){return this.getElementDescriptor(e).propertiesByName[t]},Gn.prototype.getTypeDescriptor=function(e){return this.registry.typeMap[e]};var Hn=String.fromCharCode,$n=Object.prototype.hasOwnProperty,Kn=/&#(\d+);|&#x([0-9a-f]+);|&(\w+);/gi,Un={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function qn(e,t,n,i){return i?$n.call(Un,i)?Un[i]:"&"+i+";":Hn(t||parseInt(n,16))}function Yn(e){return e.length>3&&-1!==e.indexOf("&")?e.replace(Kn,qn):e}Object.keys(Un).forEach((function(e){Un[e.toUpperCase()]=Un[e]}));var Xn="xsi:type",Zn="non-whitespace outside of root node";function Jn(e){return new Error(e)}function Qn(e){return"missing namespace for prefix <"+e+">"}function ei(e){return{get:e,enumerable:!0}}function ti(e){var t,n={};for(t in e)n[t]=e[t];return n}function ni(e){return e+"$uri"}function ii(){return{line:0,column:0}}function ri(e){throw e}function ai(e){if(!this)return new ai(e);var t,n,i,r,a,o,s,l,p,c=e&&e.proxy,u=ri,h=ii,m=!1,f=!1,d=null,y=!1;function g(e){e instanceof Error||(e=Jn(e)),d=e,u(e,h)}function v(e){a&&(e instanceof Error||(e=Jn(e)),a(e,h))}this.on=function(e,p){if("function"!=typeof p)throw Jn("required args <name, cb>");switch(e){case"openTag":n=p;break;case"text":t=p;break;case"closeTag":i=p;break;case"error":u=p;break;case"warn":a=p;break;case"cdata":r=p;break;case"attention":l=p;break;case"question":s=p;break;case"comment":o=p;break;default:throw Jn("unsupported event: "+e)}return this},this.ns=function(e){if(void 0===e&&(e={}),"object"!=typeof e)throw Jn("required args <nsMap={}>");var t,n={};for(t in e)n[t]=e[t];return n["http://www.w3.org/2001/XMLSchema-instance"]="xsi",f=!0,p=n,this},this.parse=function(e){if("string"!=typeof e)throw Jn("required args <xml=string>");return d=null,function(e){var a,u,d,x,b,w,E,_,A,S,R,C=f?[]:null,M=f?function(e){var t,n,i={};for(t in e)i[n=e[t]]=n,i[ni(n)]=t;return i}(p):null,k=[],P=0,N=!1,T=!1,D=0,O=0,B="",L=0;function I(){if(null!==R)return R;var e,t,n,i,r,a,o,s,l,c,u,h=f&&M.xmlns,d=f&&m?[]:null,y=L,g=B,x=g.length,b={},w={};e:for(;y<x;y++)if(l=!1,!(32===(c=g.charCodeAt(y))||c<14&&c>8)){for((c<65||c>122||c>90&&c<97)&&95!==c&&58!==c&&(v("illegal first char attribute name"),l=!0),u=y+1;u<x;u++)if(!((c=g.charCodeAt(u))>96&&c<123||c>64&&c<91||c>47&&c<59||46===c||45===c||95===c)){if(32===c||c<14&&c>8){v("missing attribute value"),y=u;continue e}if(61===c)break;v("illegal attribute name char"),l=!0}if("xmlns:xmlns"===(s=g.substring(y,u))&&(v("illegal declaration of xmlns"),l=!0),34===(c=g.charCodeAt(u+1)))-1===(u=g.indexOf('"',y=u+2))&&-1!==(u=g.indexOf("'",y))&&(v("attribute value quote missmatch"),l=!0);else if(39===c)-1===(u=g.indexOf("'",y=u+2))&&-1!==(u=g.indexOf('"',y))&&(v("attribute value quote missmatch"),l=!0);else for(v("missing attribute value quotes"),l=!0,u+=1;u<x&&!(32===(c=g.charCodeAt(u+1))||c<14&&c>8);u++);for(-1===u&&(v("missing closing quotes"),u=x,l=!0),l||(a=g.substring(y,u)),y=u;u+1<x&&!(32===(c=g.charCodeAt(u+1))||c<14&&c>8);u++)y===u&&(v("illegal character after attribute end"),l=!0);if(y=u+1,!l)if(s in w)v("attribute <"+s+"> already defined");else if(w[s]=!0,f)if(m){if(null!==(r="xmlns"===s?"xmlns":120===s.charCodeAt(0)&&"xmlns:"===s.substr(0,6)?s.substr(6):null)){if(e=Yn(a),t=ni(r),!(o=p[e])){if("xmlns"===r||t in M&&M[t]!==e)do{o="ns"+P++}while(void 0!==M[o]);else o=r;p[e]=o}M[r]!==o&&(i||(M=ti(M),i=!0),M[r]=o,"xmlns"===r&&(M[ni(o)]=e,h=o),M[t]=e),b[s]=a;continue}d.push(s,a)}else-1!==(c=s.indexOf(":"))?(n=M[s.substring(0,c)])?((s=h===n?s.substr(c+1):n+s.substr(c))===Xn&&(-1!==(c=a.indexOf(":"))?(n=a.substring(0,c),a=(n=M[n]||n)+a.substring(c)):a=h+":"+a),b[s]=a):v(Qn(s.substring(0,c))):b[s]=a;else b[s]=a}if(m)for(y=0,x=d.length;y<x;y++){if(s=d[y++],a=d[y],-1!==(c=s.indexOf(":"))){if(!(n=M[s.substring(0,c)])){v(Qn(s.substring(0,c)));continue}(s=h===n?s.substr(c+1):n+s.substr(c))===Xn&&(-1!==(c=a.indexOf(":"))?(n=a.substring(0,c),a=(n=M[n]||n)+a.substring(c)):a=h+":"+a)}b[s]=a}return R=b}function F(){for(var t,n,i=/(\r\n|\r|\n)/g,r=0,a=0,o=0,s=O;D>=o&&(t=i.exec(e))&&!((s=t[0].length+t.index)>D);)r+=1,o=s;return-1==D?(a=s,n=e.substring(O)):0===O?n=e.substring(O,D):(a=D-o,n=-1==O?e.substring(D):e.substring(D,O+1)),{data:n,line:r,column:a}}h=F,c&&(S=Object.create({},{name:ei((function(){return _})),originalName:ei((function(){return A})),attrs:ei(I),ns:ei((function(){return M}))}));for(;-1!==O;){if(-1===(D=60===e.charCodeAt(O)?O:e.indexOf("<",O)))return k.length?g("unexpected end of file"):0===O?g("missing start tag"):void(O<e.length&&e.substring(O).trim()&&v(Zn));if(O!==D)if(k.length){if(t&&(t(e.substring(O,D),Yn,h),y))return}else if(e.substring(O,D).trim()&&(v(Zn),y))return;if(33===(b=e.charCodeAt(D+1))){if(91===(x=e.charCodeAt(D+2))&&"CDATA["===e.substr(D+3,6)){if(-1===(O=e.indexOf("]]>",D)))return g("unclosed cdata");if(r&&(r(e.substring(D+9,O),h),y))return;O+=3;continue}if(45===x&&45===e.charCodeAt(D+3)){if(-1===(O=e.indexOf("--\x3e",D)))return g("unclosed comment");if(o&&(o(e.substring(D+4,O),Yn,h),y))return;O+=3;continue}}if(63!==b){for(u=D+1;;u++){if(w=e.charCodeAt(u),isNaN(w))return O=-1,g("unclosed tag");if(34===w)u=-1!==(x=e.indexOf('"',u+1))?x:u;else if(39===w)u=-1!==(x=e.indexOf("'",u+1))?x:u;else if(62===w){O=u;break}}if(33!==b){if(R={},47===b){if(N=!1,T=!0,!k.length)return g("missing open tag");if(u=_=k.pop(),x=D+2+u.length,e.substring(D+2,x)!==u)return g("closing tag mismatch");for(;x<O;x++)if(!(32===(b=e.charCodeAt(x))||b>8&&b<14))return g("close tag")}else{if(47===e.charCodeAt(O-1)?(u=_=e.substring(D+1,O-1),N=!0,T=!0):(u=_=e.substring(D+1,O),N=!0,T=!1),!(b>96&&b<123||b>64&&b<91||95===b||58===b))return g("illegal first char nodeName");for(x=1,d=u.length;x<d;x++)if(!((b=u.charCodeAt(x))>96&&b<123||b>64&&b<91||b>47&&b<59||45===b||95===b||46==b)){if(32===b||b<14&&b>8){_=u.substring(0,x),R=null;break}return g("invalid nodeName")}T||k.push(_)}if(f){if(a=M,N&&(T||C.push(a),null===R&&(m=-1!==u.indexOf("xmlns",x))&&(L=x,B=u,I(),m=!1)),A=_,-1!==(b=_.indexOf(":"))){if(!(E=M[_.substring(0,b)]))return g("missing namespace on <"+A+">");_=_.substr(b+1)}else E=M.xmlns;E&&(_=E+":"+_)}if(N&&(L=x,B=u,n&&(c?n(S,Yn,T,h):n(_,I,Yn,T,h),y)))return;if(T){if(i&&(i(c?S:_,Yn,N,h),y))return;f&&(M=N?a:C.pop())}O+=1}else{if(l&&(l(e.substring(D,O+1),Yn,h),y))return;O+=1}}else{if(-1===(O=e.indexOf("?>",D)))return g("unclosed question");if(s&&(s(e.substring(D,O+2),h),y))return;O+=2}}}(e),h=ii,y=!1,d},this.stop=function(){y=!0}}function oi(e){return e.xml&&"lowerCase"===e.xml.tagAlias}var si={xsi:"http://www.w3.org/2001/XMLSchema-instance",xml:"http://www.w3.org/XML/1998/namespace"},li="xsi:type";function pi(e){return e.xml&&e.xml.serialize}function ci(e){return pi(e)===li}function ui(e,t){return oi(t)?e.prefix+":"+((n=e.localName).charAt(0).toUpperCase()+n.slice(1)):e.name;var n}function hi(e){return new Error(e)}function mi(e){return e.$descriptor}function fi(e){w(this,e),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(e){this.references.push(e)},this.addElement=function(e){if(!e)throw hi("expected element");var t,n=this.elementsById,i=mi(e).idProperty;if(i&&(t=e.get(i.name))){if(!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(t))throw new Error("illegal ID <"+t+">");if(n[t])throw hi("duplicate ID <"+t+">");n[t]=e}},this.addWarning=function(e){this.warnings.push(e)}}function di(){}function yi(){}function gi(){}function vi(e,t){this.property=e,this.context=t}function xi(e,t){this.element=t,this.propertyDesc=e}function bi(){}function wi(e,t,n){this.model=e,this.type=e.getType(t),this.context=n}function Ei(e,t,n){wi.call(this,e,t,n)}function _i(e,t,n){this.model=e,this.context=n}function Ai(e){e instanceof Gn&&(e={model:e}),w(this,{lax:!1},e)}di.prototype.handleEnd=function(){},di.prototype.handleText=function(){},di.prototype.handleNode=function(){},yi.prototype=Object.create(di.prototype),yi.prototype.handleNode=function(){return this},gi.prototype=Object.create(di.prototype),gi.prototype.handleText=function(e){this.body=(this.body||"")+e},vi.prototype=Object.create(gi.prototype),vi.prototype.handleNode=function(e){if(this.element)throw hi("expected no sub nodes");return this.element=this.createReference(e),this},vi.prototype.handleEnd=function(){this.element.id=this.body},vi.prototype.createReference=function(e){return{property:this.property.ns.name,id:""}},xi.prototype=Object.create(gi.prototype),xi.prototype.handleEnd=function(){var e=this.body||"",t=this.element,n=this.propertyDesc;e=On(n.type,e),n.isMany?t.get(n.name).push(e):t.set(n.name,e)},bi.prototype=Object.create(gi.prototype),bi.prototype.handleNode=function(e){var t=this,n=this.element;return n?t=this.handleChild(e):(n=this.element=this.createElement(e),this.context.addElement(n)),t},wi.prototype=Object.create(bi.prototype),wi.prototype.addReference=function(e){this.context.addReference(e)},wi.prototype.handleText=function(e){if(!mi(this.element).bodyProperty)throw hi("unexpected body text <"+e+">");gi.prototype.handleText.call(this,e)},wi.prototype.handleEnd=function(){var e=this.body,t=this.element,n=mi(t).bodyProperty;n&&void 0!==e&&(e=On(n.type,e),t.set(n.name,e))},wi.prototype.createElement=function(e){var t,n=e.attributes,i=this.type,r=mi(i),a=this.context,o=new i({}),s=this.model;return m(n,(function(e,n){var i=r.propertiesByName[n];i&&i.isReference?i.isMany?m(e.split(" "),(function(e){a.addReference({element:o,property:i.ns.name,id:e})})):a.addReference({element:o,property:i.ns.name,id:e}):(i?e=On(i.type,e):"xmlns"!==n&&(t=In(n,r.ns.prefix),s.getPackage(t.prefix)&&a.addWarning({message:"unknown attribute <"+n+">",element:o,property:n,value:e})),o.set(n,e))})),o},wi.prototype.getPropertyForNode=function(e){var t,n,i=In(e.name),r=this.type,a=this.model,o=mi(r),s=i.name,l=o.propertiesByName[s];if(l&&!l.isAttr)return ci(l)&&(t=e.attributes[li])?(t=function(e,t){var n=In(e);return function(e,t){var n=e.name,i=e.localName,r=t.xml&&t.xml.typePrefix;return r&&0===i.indexOf(r)?e.prefix+":"+i.slice(r.length):n}(n,t.getPackage(n.prefix))}(t,a),w({},l,{effectiveType:mi(n=a.getType(t)).name})):l;var p=a.getPackage(i.prefix);if(p){if(t=ui(i,p),n=a.getType(t),l=u(o.properties,(function(e){return!e.isVirtual&&!e.isReference&&!e.isAttribute&&n.hasType(e.type)})))return w({},l,{effectiveType:mi(n).name})}else if(l=u(o.properties,(function(e){return!e.isReference&&!e.isAttribute&&"Element"===e.type})))return l;throw hi("unrecognized element <"+i.name+">")},wi.prototype.toString=function(){return"ElementDescriptor["+mi(this.type).name+"]"},wi.prototype.valueHandler=function(e,t){return new xi(e,t)},wi.prototype.referenceHandler=function(e){return new vi(e,this.context)},wi.prototype.handler=function(e){return"Element"===e?new _i(this.model,e,this.context):new wi(this.model,e,this.context)},wi.prototype.handleChild=function(e){var t,n,i,r;if(t=this.getPropertyForNode(e),i=this.element,Ln(n=t.effectiveType||t.type))return this.valueHandler(t,i);var a=(r=t.isReference?this.referenceHandler(t).handleNode(e):this.handler(n).handleNode(e)).element;return void 0!==a&&(t.isMany?i.get(t.name).push(a):i.set(t.name,a),t.isReference?(w(a,{element:i}),this.context.addReference(a)):a.$parent=i),r},Ei.prototype=Object.create(wi.prototype),Ei.prototype.createElement=function(e){var t=e.name,n=In(t),i=this.model,r=this.type,a=i.getPackage(n.prefix),o=a&&ui(n,a)||t;if(!r.hasType(o))throw hi("unexpected element <"+e.originalName+">");return wi.prototype.createElement.call(this,e)},_i.prototype=Object.create(bi.prototype),_i.prototype.createElement=function(e){var t=e.name,n=In(t).prefix,i=e.ns[n+"$uri"],r=e.attributes;return this.model.createAny(t,i,r)},_i.prototype.handleChild=function(e){var t=new _i(this.model,"Element",this.context).handleNode(e),n=this.element,i=t.element;return void 0!==i&&((n.$children=n.$children||[]).push(i),i.$parent=n),t},_i.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},Ai.prototype.fromXML=function(e,t,n){var i=t.rootHandler;t instanceof wi?(i=t,t={}):"string"==typeof t?(i=this.handler(t),t={}):"string"==typeof i&&(i=this.handler(i));var r=this.model,a=this.lax,o=new fi(w({},t,{rootHandler:i})),s=new ai({proxy:!0}),l=function(){var e=[];return Object.defineProperty(e,"peek",{value:function(){return this[this.length-1]}}),e}();function p(e,t,n){var i=t(),r=i.line,a=i.column,s=i.data;"<"===s.charAt(0)&&-1!==s.indexOf(" ")&&(s=s.slice(0,s.indexOf(" "))+">");var l="unparsable content "+(s?s+" ":"")+"detected\n\tline: "+r+"\n\tcolumn: "+a+"\n\tnested error: "+e.message;if(n)return o.addWarning({message:l,error:e}),!0;throw hi(l)}function c(e,t){return p(e,t,!0)}i.context=o,l.push(i);var u=/^<\?xml /i,h=/ encoding="([^"]+)"/i,m=/^utf-8$/i;function f(e,t){try{l.peek().handleText(e)}catch(e){c(e,t)}}var d=r.getPackages().reduce((function(e,t){return e[t.uri]=t.prefix,e}),{"http://www.w3.org/XML/1998/namespace":"xml"});return s.ns(d).on("openTag",(function(e,t,n,i){var r=e.attrs||{},o=Object.keys(r).reduce((function(e,n){var i=t(r[n]);return e[n]=i,e}),{});!function(e,t){var n=l.peek();try{l.push(n.handleNode(e))}catch(e){p(e,t,a)&&l.push(new yi)}}({name:e.name,originalName:e.originalName,attributes:o,ns:e.ns},i)})).on("question",(function(e){if(u.test(e)){var t=h.exec(e),n=t&&t[1];n&&!m.test(n)&&o.addWarning({message:"unsupported document encoding <"+n+">, falling back to UTF-8"})}})).on("closeTag",(function(){l.pop().handleEnd()})).on("cdata",f).on("text",(function(e,t,n){!function(e,t){e.trim()&&f(e,t)}(t(e),n)})).on("error",p).on("warn",c),new Promise((function(t,n){var r;try{s.parse(e),function(){var e,t,n=o.elementsById,i=o.references;for(e=0;t=i[e];e++){var r=t.element,a=n[t.id],s=mi(r).propertiesByName[t.property];if(a||o.addWarning({message:"unresolved reference <"+t.id+">",element:t.element,property:t.property,value:t.id}),s.isMany){var l=r.get(s.name),p=l.indexOf(t);-1===p&&(p=l.length),a?l[p]=a:l.splice(p,1)}else r.set(s.name,a)}}()}catch(e){r=e}var a=i.element;r||a||(r=hi("failed to parse document as <"+i.type.$descriptor.name+">"));var l=o.warnings,p=o.references,c=o.elementsById;return r?(r.warnings=l,n(r)):t({rootElement:a,elementsById:c,references:p,warnings:l})}))},Ai.prototype.handler=function(e){return new Ei(this.model,e)};var Si=/<|>|'|"|&|\n\r|\n/g,Ri=/<|>|&/g;function Ci(e){var t={},n={},i={},r=[],a=[];this.byUri=function(t){return n[t]||e&&e.byUri(t)},this.add=function(e,t){n[e.uri]=e,t?r.push(e):a.push(e),this.mapPrefix(e.prefix,e.uri)},this.uriByPrefix=function(e){return t[e||"xmlns"]},this.mapPrefix=function(e,n){t[e||"xmlns"]=n},this.getNSKey=function(e){return void 0!==e.prefix?e.uri+"|"+e.prefix:e.uri},this.logUsed=function(t){var n=t.uri,r=this.getNSKey(t);i[r]=this.byUri(n),e&&e.logUsed(t)},this.getUsed=function(e){var t=this;return[].concat(r,a).filter((function(e){var n=t.getNSKey(e);return i[n]}))}}function Mi(e,t){return oi(t)?(n=e).charAt(0).toLowerCase()+n.slice(1):e;var n}function ki(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function Pi(e){return p(e)?e:(e.prefix?e.prefix+":":"")+e.localName}var Ni={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},Ti={"<":"lt",">":"gt","&":"amp"};function Di(e,t,n){return(e=p(e)?e:""+e).replace(t,(function(e){return"&"+n[e]+";"}))}function Oi(e){this.tagName=e}function Bi(){}function Li(e){this.tagName=e}function Ii(e,t){this.body=[],this.attrs=[],this.parent=e,this.propertyDescriptor=t}function Fi(e,t){Ii.call(this,e,t)}function ji(){this.value="",this.write=function(e){this.value+=e}}function Vi(e,t){var n=[""];this.append=function(t){return e.write(t),this},this.appendNewLine=function(){return t&&e.write("\n"),this},this.appendIndent=function(){return t&&e.write(n.join(" ")),this},this.indent=function(){return n.push(""),this},this.unindent=function(){return n.pop(),this}}function Wi(e){return e=w({format:!1,preamble:!0},e||{}),{toXML:function(t,n){var i=n||new ji,r=new Vi(i,e.format);if(e.preamble&&r.append('<?xml version="1.0" encoding="UTF-8"?>\n'),(new Ii).build(t).serializeTo(r),!n)return i.value}}}function zi(e,t){Gn.call(this,e,t)}Oi.prototype.build=function(e){return this.element=e,this},Oi.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"+this.element.id+"</"+this.tagName+">").appendNewLine()},Bi.prototype.serializeValue=Bi.prototype.serializeTo=function(e){e.append(this.escape?Di(this.value,Ri,Ti):this.value)},Bi.prototype.build=function(e,t){return this.value=t,"String"===e.type&&-1!==t.search(Ri)&&(this.escape=!0),this},ki(Li,Bi),Li.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"),this.serializeValue(e),e.append("</"+this.tagName+">").appendNewLine()},Ii.prototype.build=function(e){this.element=e;var t,n,i=e.$descriptor,r=this.propertyDescriptor,a=i.isGeneric;return t=a?this.parseGeneric(e):this.parseNsAttributes(e),this.ns=r?this.nsPropertyTagName(r):this.nsTagName(i),this.tagName=this.addTagName(this.ns),a||(n=function(e){return h(e.$descriptor.properties,(function(t){var n=t.name;if(t.isVirtual)return!1;if(!c(e,n))return!1;var i=e[n];return i!==t.default&&null!==i&&(!t.isMany||i.length)}))}(e),this.parseAttributes(h(n,(function(e){return e.isAttr}))),this.parseContainments(function(e){return h(e,(function(e){return!e.isAttr}))}(n))),this.parseGenericAttributes(e,t),this},Ii.prototype.nsTagName=function(e){return function(e,t){return t.isGeneric?w({localName:t.ns.localName},e):w({localName:Mi(t.ns.localName,t.$pkg)},e)}(this.logNamespaceUsed(e.ns),e)},Ii.prototype.nsPropertyTagName=function(e){return function(e,t){return w({localName:t.ns.localName},e)}(this.logNamespaceUsed(e.ns),e)},Ii.prototype.isLocalNs=function(e){return e.uri===this.ns.uri},Ii.prototype.nsAttributeName=function(e){var t;if(t=p(e)?In(e):e.ns,e.inherited)return{localName:t.localName};var n=this.logNamespaceUsed(t);return this.getNamespaces().logUsed(n),this.isLocalNs(n)?{localName:t.localName}:w({localName:t.localName},n)},Ii.prototype.parseGeneric=function(e){var t=this,n=this.body,i=[];return m(e,(function(r,a){"$body"===a?n.push((new Bi).build({type:"String"},r)):"$children"===a?m(r,(function(e){n.push(new Ii(t).build(e))})):0!==a.indexOf("$")&&t.parseNsAttribute(e,a,r)&&i.push({name:a,value:r})})),i},Ii.prototype.parseNsAttribute=function(e,t,n){var i,r=e.$model,a=In(t);if("xmlns"===a.prefix&&(i={prefix:a.localName,uri:n}),a.prefix||"xmlns"!==a.localName||(i={uri:n}),!i)return{name:t,value:n};if(r&&r.getPackage(n))this.logNamespace(i,!0,!0);else{var o=this.logNamespaceUsed(i,!0);this.getNamespaces().logUsed(o)}},Ii.prototype.parseNsAttributes=function(e,t){var n=this,i=e.$attrs,r=[];return m(i,(function(t,i){var a=n.parseNsAttribute(e,i,t);a&&r.push(a)})),r},Ii.prototype.parseGenericAttributes=function(e,t){var n=this;m(t,(function(t){if(t.name!==li)try{n.addAttribute(n.nsAttributeName(t.name),t.value)}catch(n){console.warn("missing namespace information for ",t.name,"=",t.value,"on",e,n)}}))},Ii.prototype.parseContainments=function(e){var t=this,n=this.body,i=this.element;m(e,(function(e){var r=i.get(e.name),a=e.isReference;if(e.isMany||(r=[r]),e.isBody)n.push((new Bi).build(e,r[0]));else if(Ln(e.type))m(r,(function(i){n.push(new Li(t.addTagName(t.nsPropertyTagName(e))).build(e,i))}));else if(a)m(r,(function(i){n.push(new Oi(t.addTagName(t.nsPropertyTagName(e))).build(i))}));else{var o=ci(e),s=function(e){return"property"===pi(e)}(e);m(r,(function(i){var r;r=o?new Fi(t,e):s?new Ii(t,e):new Ii(t),n.push(r.build(i))}))}}))},Ii.prototype.getNamespaces=function(e){var t,n=this.namespaces,i=this.parent;return n||(t=i&&i.getNamespaces(),e||!t?this.namespaces=n=new Ci(t):n=t),n},Ii.prototype.logNamespace=function(e,t,n){var i=this.getNamespaces(n),r=e.uri,a=e.prefix;return i.byUri(r)&&!n||i.add(e,t),i.mapPrefix(a,r),e},Ii.prototype.logNamespaceUsed=function(e,t){var n,i,r,a=this.element.$model,o=this.getNamespaces(t),s=e.prefix,l=e.uri;if(!s&&!l)return{localName:e.localName};if(r=si[s]||a&&(a.getPackage(s)||{}).uri,!(l=l||r||o.uriByPrefix(s)))throw new Error("no namespace uri given for prefix <"+s+">");if(!(e=o.byUri(l))){for(n=s,i=1;o.uriByPrefix(n);)n=s+"_"+i++;e=this.logNamespace({prefix:n,uri:l},r===l)}return s&&o.mapPrefix(s,l),e},Ii.prototype.parseAttributes=function(e){var t=this,n=this.element;m(e,(function(e){var i=n.get(e.name);if(e.isReference)if(e.isMany){var r=[];m(i,(function(e){r.push(e.id)})),i=r.join(" ")}else i=i.id;t.addAttribute(t.nsAttributeName(e),i)}))},Ii.prototype.addTagName=function(e){var t=this.logNamespaceUsed(e);return this.getNamespaces().logUsed(t),Pi(e)},Ii.prototype.addAttribute=function(e,t){var n=this.attrs;p(t)&&(t=Di(t,Si,Ni)),n.push({name:e,value:t})},Ii.prototype.serializeAttributes=function(e){var t=this.attrs,n=this.namespaces;n&&(t=function(e){return e.getUsed().filter((function(e){return"xml"!==e.prefix})).map((function(e){return{name:"xmlns"+(e.prefix?":"+e.prefix:""),value:e.uri}}))}(n).concat(t)),m(t,(function(t){e.append(" ").append(Pi(t.name)).append('="').append(t.value).append('"')}))},Ii.prototype.serializeTo=function(e){var t=this.body[0],n=t&&t.constructor!==Bi;e.appendIndent().append("<"+this.tagName),this.serializeAttributes(e),e.append(t?">":" />"),t&&(n&&e.appendNewLine().indent(),m(this.body,(function(t){t.serializeTo(e)})),n&&e.unindent().appendIndent(),e.append("</"+this.tagName+">")),e.appendNewLine()},ki(Fi,Ii),Fi.prototype.parseNsAttributes=function(e){var t=Ii.prototype.parseNsAttributes.call(this,e),n=e.$descriptor;if(n.name===this.propertyDescriptor.type)return t;var i=this.typeNs=this.nsTagName(n);this.getNamespaces().logUsed(this.typeNs);var r=e.$model.getPackage(i.uri),a=r.xml&&r.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName(li),(i.prefix?i.prefix+":":"")+a+n.ns.localName),t},Fi.prototype.isLocalNs=function(e){return e.uri===(this.typeNs||this.ns).uri},zi.prototype=Object.create(Gn.prototype),zi.prototype.fromXML=function(e,t,n){p(t)||(n=t,t="bpmn:Definitions");var i=new Ai(w({model:this,lax:!0},n)),r=i.handler(t);return i.fromXML(e,r)},zi.prototype.toXML=function(e,t){var n=new Wi(t);return new Promise((function(t,i){try{return t({xml:n.toXML(e)})}catch(e){return i(e)}}))};var Gi={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",prefix:"bpmn",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"Operation",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"inMessageRef",type:"Message",isReference:!0},{name:"outMessageRef",type:"Message",isReference:!0},{name:"errorRef",type:"Error",isMany:!0,isReference:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"EndPoint",superClass:["RootElement"]},{name:"Auditing",superClass:["BaseElement"]},{name:"GlobalTask",superClass:["CallableElement"],properties:[{name:"resources",type:"ResourceRole",isMany:!0}]},{name:"Monitoring",superClass:["BaseElement"]},{name:"Performer",superClass:["ResourceRole"]},{name:"Process",superClass:["FlowElementsContainer","CallableElement"],properties:[{name:"processType",type:"ProcessType",isAttr:!0},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"properties",type:"Property",isMany:!0},{name:"laneSets",isMany:!0,replaces:"FlowElementsContainer#laneSets",type:"LaneSet"},{name:"flowElements",isMany:!0,replaces:"FlowElementsContainer#flowElements",type:"FlowElement"},{name:"artifacts",type:"Artifact",isMany:!0},{name:"resources",type:"ResourceRole",isMany:!0},{name:"correlationSubscriptions",type:"CorrelationSubscription",isMany:!0},{name:"supports",type:"Process",isMany:!0,isReference:!0},{name:"definitionalCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"isExecutable",isAttr:!0,type:"Boolean"}]},{name:"LaneSet",superClass:["BaseElement"],properties:[{name:"lanes",type:"Lane",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Lane",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"partitionElementRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"partitionElement",type:"BaseElement"},{name:"flowNodeRef",type:"FlowNode",isMany:!0,isReference:!0},{name:"childLaneSet",type:"LaneSet",xml:{serialize:"xsi:type"}}]},{name:"GlobalManualTask",superClass:["GlobalTask"]},{name:"ManualTask",superClass:["Task"]},{name:"UserTask",superClass:["Task"],properties:[{name:"renderings",type:"Rendering",isMany:!0},{name:"implementation",isAttr:!0,type:"String"}]},{name:"Rendering",superClass:["BaseElement"]},{name:"HumanPerformer",superClass:["Performer"]},{name:"PotentialOwner",superClass:["HumanPerformer"]},{name:"GlobalUserTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"renderings",type:"Rendering",isMany:!0}]},{name:"Gateway",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"gatewayDirection",type:"GatewayDirection",default:"Unspecified",isAttr:!0}]},{name:"EventBasedGateway",superClass:["Gateway"],properties:[{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"eventGatewayType",type:"EventBasedGatewayType",isAttr:!0,default:"Exclusive"}]},{name:"ComplexGateway",superClass:["Gateway"],properties:[{name:"activationCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ExclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"InclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ParallelGateway",superClass:["Gateway"]},{name:"RootElement",isAbstract:!0,superClass:["BaseElement"]},{name:"Relationship",superClass:["BaseElement"],properties:[{name:"type",isAttr:!0,type:"String"},{name:"direction",type:"RelationshipDirection",isAttr:!0},{name:"source",isMany:!0,isReference:!0,type:"Element"},{name:"target",isMany:!0,isReference:!0,type:"Element"}]},{name:"BaseElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,type:"String",isId:!0},{name:"documentation",type:"Documentation",isMany:!0},{name:"extensionDefinitions",type:"ExtensionDefinition",isMany:!0,isReference:!0},{name:"extensionElements",type:"ExtensionElements"}]},{name:"Extension",properties:[{name:"mustUnderstand",default:!1,isAttr:!0,type:"Boolean"},{name:"definition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"extensionAttributeDefinitions",type:"ExtensionAttributeDefinition",isMany:!0}]},{name:"ExtensionAttributeDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"type",isAttr:!0,type:"String"},{name:"isReference",default:!1,isAttr:!0,type:"Boolean"},{name:"extensionDefinition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionElements",properties:[{name:"valueRef",isAttr:!0,isReference:!0,type:"Element"},{name:"values",type:"Element",isMany:!0},{name:"extensionAttributeDefinition",type:"ExtensionAttributeDefinition",isAttr:!0,isReference:!0}]},{name:"Documentation",superClass:["BaseElement"],properties:[{name:"text",type:"String",isBody:!0},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Event",isAbstract:!0,superClass:["FlowNode","InteractionNode"],properties:[{name:"properties",type:"Property",isMany:!0}]},{name:"IntermediateCatchEvent",superClass:["CatchEvent"]},{name:"IntermediateThrowEvent",superClass:["ThrowEvent"]},{name:"EndEvent",superClass:["ThrowEvent"]},{name:"StartEvent",superClass:["CatchEvent"],properties:[{name:"isInterrupting",default:!0,isAttr:!0,type:"Boolean"}]},{name:"ThrowEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"inputSet",type:"InputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"CatchEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"parallelMultiple",isAttr:!0,type:"Boolean",default:!1},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"outputSet",type:"OutputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"BoundaryEvent",superClass:["CatchEvent"],properties:[{name:"cancelActivity",default:!0,isAttr:!0,type:"Boolean"},{name:"attachedToRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"EventDefinition",isAbstract:!0,superClass:["RootElement"]},{name:"CancelEventDefinition",superClass:["EventDefinition"]},{name:"ErrorEventDefinition",superClass:["EventDefinition"],properties:[{name:"errorRef",type:"Error",isAttr:!0,isReference:!0}]},{name:"TerminateEventDefinition",superClass:["EventDefinition"]},{name:"EscalationEventDefinition",superClass:["EventDefinition"],properties:[{name:"escalationRef",type:"Escalation",isAttr:!0,isReference:!0}]},{name:"Escalation",properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"escalationCode",isAttr:!0,type:"String"}],superClass:["RootElement"]},{name:"CompensateEventDefinition",superClass:["EventDefinition"],properties:[{name:"waitForCompletion",isAttr:!0,type:"Boolean",default:!0},{name:"activityRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"TimerEventDefinition",superClass:["EventDefinition"],properties:[{name:"timeDate",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeCycle",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeDuration",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"LinkEventDefinition",superClass:["EventDefinition"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"target",type:"LinkEventDefinition",isAttr:!0,isReference:!0},{name:"source",type:"LinkEventDefinition",isMany:!0,isReference:!0}]},{name:"MessageEventDefinition",superClass:["EventDefinition"],properties:[{name:"messageRef",type:"Message",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"ConditionalEventDefinition",superClass:["EventDefinition"],properties:[{name:"condition",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"SignalEventDefinition",superClass:["EventDefinition"],properties:[{name:"signalRef",type:"Signal",isAttr:!0,isReference:!0}]},{name:"Signal",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ImplicitThrowEvent",superClass:["ThrowEvent"]},{name:"DataState",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"ItemAwareElement",superClass:["BaseElement"],properties:[{name:"itemSubjectRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"dataState",type:"DataState"}]},{name:"DataAssociation",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}},{name:"assignment",type:"Assignment",isMany:!0}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"DataOutput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"outputSetRef",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"InputSet",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"dataInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"optionalInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"whileExecutingInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"outputSetRefs",type:"OutputSet",isMany:!0,isReference:!0}]},{name:"OutputSet",superClass:["BaseElement"],properties:[{name:"dataOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"inputSetRefs",type:"InputSet",isMany:!0,isReference:!0},{name:"optionalOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"whileExecutingOutputRefs",type:"DataOutput",isMany:!0,isReference:!0}]},{name:"Property",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"DataInputAssociation",superClass:["DataAssociation"]},{name:"DataOutputAssociation",superClass:["DataAssociation"]},{name:"InputOutputSpecification",superClass:["BaseElement"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"inputSets",type:"InputSet",isMany:!0},{name:"outputSets",type:"OutputSet",isMany:!0}]},{name:"DataObject",superClass:["FlowElement","ItemAwareElement"],properties:[{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"}]},{name:"InputOutputBinding",properties:[{name:"inputDataRef",type:"InputSet",isAttr:!0,isReference:!0},{name:"outputDataRef",type:"OutputSet",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"Assignment",superClass:["BaseElement"],properties:[{name:"from",type:"Expression",xml:{serialize:"xsi:type"}},{name:"to",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"DataStore",superClass:["RootElement","ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"capacity",isAttr:!0,type:"Integer"},{name:"isUnlimited",default:!0,isAttr:!0,type:"Boolean"}]},{name:"DataStoreReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataStoreRef",type:"DataStore",isAttr:!0,isReference:!0}]},{name:"DataObjectReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataObjectRef",type:"DataObject",isAttr:!0,isReference:!0}]},{name:"ConversationLink",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ConversationAssociation",superClass:["BaseElement"],properties:[{name:"innerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0},{name:"outerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0}]},{name:"CallConversation",superClass:["ConversationNode"],properties:[{name:"calledCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"Conversation",superClass:["ConversationNode"]},{name:"SubConversation",superClass:["ConversationNode"],properties:[{name:"conversationNodes",type:"ConversationNode",isMany:!0}]},{name:"ConversationNode",isAbstract:!0,superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"messageFlowRefs",type:"MessageFlow",isMany:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0}]},{name:"GlobalConversation",superClass:["Collaboration"]},{name:"PartnerEntity",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"PartnerRole",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"CorrelationProperty",superClass:["RootElement"],properties:[{name:"correlationPropertyRetrievalExpression",type:"CorrelationPropertyRetrievalExpression",isMany:!0},{name:"name",isAttr:!0,type:"String"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Error",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"errorCode",isAttr:!0,type:"String"}]},{name:"CorrelationKey",superClass:["BaseElement"],properties:[{name:"correlationPropertyRef",type:"CorrelationProperty",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Expression",superClass:["BaseElement"],isAbstract:!1,properties:[{name:"body",isBody:!0,type:"String"}]},{name:"FormalExpression",superClass:["Expression"],properties:[{name:"language",isAttr:!0,type:"String"},{name:"evaluatesToTypeRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Message",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"itemRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"ItemDefinition",superClass:["RootElement"],properties:[{name:"itemKind",type:"ItemKind",isAttr:!0},{name:"structureRef",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"import",type:"Import",isAttr:!0,isReference:!0}]},{name:"FlowElement",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"categoryValueRef",type:"CategoryValue",isMany:!0,isReference:!0}]},{name:"SequenceFlow",superClass:["FlowElement"],properties:[{name:"isImmediate",isAttr:!0,type:"Boolean"},{name:"conditionExpression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"sourceRef",type:"FlowNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"FlowNode",isAttr:!0,isReference:!0}]},{name:"FlowElementsContainer",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"laneSets",type:"LaneSet",isMany:!0},{name:"flowElements",type:"FlowElement",isMany:!0}]},{name:"CallableElement",isAbstract:!0,superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"supportedInterfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"ioBinding",type:"InputOutputBinding",isMany:!0,xml:{serialize:"property"}}]},{name:"FlowNode",isAbstract:!0,superClass:["FlowElement"],properties:[{name:"incoming",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"outgoing",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"lanes",type:"Lane",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"CorrelationPropertyRetrievalExpression",superClass:["BaseElement"],properties:[{name:"messagePath",type:"FormalExpression"},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"CorrelationPropertyBinding",superClass:["BaseElement"],properties:[{name:"dataPath",type:"FormalExpression"},{name:"correlationPropertyRef",type:"CorrelationProperty",isAttr:!0,isReference:!0}]},{name:"Resource",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"resourceParameters",type:"ResourceParameter",isMany:!0}]},{name:"ResourceParameter",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isRequired",isAttr:!0,type:"Boolean"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"CorrelationSubscription",superClass:["BaseElement"],properties:[{name:"correlationKeyRef",type:"CorrelationKey",isAttr:!0,isReference:!0},{name:"correlationPropertyBinding",type:"CorrelationPropertyBinding",isMany:!0}]},{name:"MessageFlow",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"MessageFlowAssociation",superClass:["BaseElement"],properties:[{name:"innerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0},{name:"outerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0}]},{name:"InteractionNode",isAbstract:!0,properties:[{name:"incomingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"Participant",superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"interfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"participantMultiplicity",type:"ParticipantMultiplicity"},{name:"endPointRefs",type:"EndPoint",isMany:!0,isReference:!0},{name:"processRef",type:"Process",isAttr:!0,isReference:!0}]},{name:"ParticipantAssociation",superClass:["BaseElement"],properties:[{name:"innerParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"outerParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"ParticipantMultiplicity",properties:[{name:"minimum",default:0,isAttr:!0,type:"Integer"},{name:"maximum",default:1,isAttr:!0,type:"Integer"}],superClass:["BaseElement"]},{name:"Collaboration",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"participants",type:"Participant",isMany:!0},{name:"messageFlows",type:"MessageFlow",isMany:!0},{name:"artifacts",type:"Artifact",isMany:!0},{name:"conversations",type:"ConversationNode",isMany:!0},{name:"conversationAssociations",type:"ConversationAssociation"},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0},{name:"messageFlowAssociations",type:"MessageFlowAssociation",isMany:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"choreographyRef",type:"Choreography",isMany:!0,isReference:!0},{name:"conversationLinks",type:"ConversationLink",isMany:!0}]},{name:"ChoreographyActivity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"loopType",type:"ChoreographyLoopType",default:"None",isAttr:!0}]},{name:"CallChoreography",superClass:["ChoreographyActivity"],properties:[{name:"calledChoreographyRef",type:"Choreography",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"SubChoreography",superClass:["ChoreographyActivity","FlowElementsContainer"],properties:[{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"ChoreographyTask",superClass:["ChoreographyActivity"],properties:[{name:"messageFlowRef",type:"MessageFlow",isMany:!0,isReference:!0}]},{name:"Choreography",superClass:["Collaboration","FlowElementsContainer"]},{name:"GlobalChoreographyTask",superClass:["Choreography"],properties:[{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"TextAnnotation",superClass:["Artifact"],properties:[{name:"text",type:"String"},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Group",superClass:["Artifact"],properties:[{name:"categoryValueRef",type:"CategoryValue",isAttr:!0,isReference:!0}]},{name:"Association",superClass:["Artifact"],properties:[{name:"associationDirection",type:"AssociationDirection",isAttr:!0},{name:"sourceRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"targetRef",type:"BaseElement",isAttr:!0,isReference:!0}]},{name:"Category",superClass:["RootElement"],properties:[{name:"categoryValue",type:"CategoryValue",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Artifact",isAbstract:!0,superClass:["BaseElement"]},{name:"CategoryValue",superClass:["BaseElement"],properties:[{name:"categorizedFlowElements",type:"FlowElement",isMany:!0,isVirtual:!0,isReference:!0},{name:"value",isAttr:!0,type:"String"}]},{name:"Activity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"isForCompensation",default:!1,isAttr:!0,type:"Boolean"},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"boundaryEventRefs",type:"BoundaryEvent",isMany:!0,isReference:!0},{name:"properties",type:"Property",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"startQuantity",default:1,isAttr:!0,type:"Integer"},{name:"resources",type:"ResourceRole",isMany:!0},{name:"completionQuantity",default:1,isAttr:!0,type:"Integer"},{name:"loopCharacteristics",type:"LoopCharacteristics"}]},{name:"ServiceTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"SubProcess",superClass:["Activity","FlowElementsContainer","InteractionNode"],properties:[{name:"triggeredByEvent",default:!1,isAttr:!0,type:"Boolean"},{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"LoopCharacteristics",isAbstract:!0,superClass:["BaseElement"]},{name:"MultiInstanceLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"isSequential",default:!1,isAttr:!0,type:"Boolean"},{name:"behavior",type:"MultiInstanceBehavior",default:"All",isAttr:!0},{name:"loopCardinality",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopDataInputRef",type:"ItemAwareElement",isReference:!0},{name:"loopDataOutputRef",type:"ItemAwareElement",isReference:!0},{name:"inputDataItem",type:"DataInput",xml:{serialize:"property"}},{name:"outputDataItem",type:"DataOutput",xml:{serialize:"property"}},{name:"complexBehaviorDefinition",type:"ComplexBehaviorDefinition",isMany:!0},{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"oneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0},{name:"noneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0}]},{name:"StandardLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"testBefore",default:!1,isAttr:!0,type:"Boolean"},{name:"loopCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopMaximum",type:"Integer",isAttr:!0}]},{name:"CallActivity",superClass:["Activity","InteractionNode"],properties:[{name:"calledElement",type:"String",isAttr:!0}]},{name:"Task",superClass:["Activity","InteractionNode"]},{name:"SendTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ReceiveTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ScriptTask",superClass:["Task"],properties:[{name:"scriptFormat",isAttr:!0,type:"String"},{name:"script",type:"String"}]},{name:"BusinessRuleTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"AdHocSubProcess",superClass:["SubProcess"],properties:[{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"ordering",type:"AdHocOrdering",isAttr:!0},{name:"cancelRemainingInstances",default:!0,isAttr:!0,type:"Boolean"}]},{name:"Transaction",superClass:["SubProcess"],properties:[{name:"protocol",isAttr:!0,type:"String"},{name:"method",isAttr:!0,type:"String"}]},{name:"GlobalScriptTask",superClass:["GlobalTask"],properties:[{name:"scriptLanguage",isAttr:!0,type:"String"},{name:"script",isAttr:!0,type:"String"}]},{name:"GlobalBusinessRuleTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"ComplexBehaviorDefinition",superClass:["BaseElement"],properties:[{name:"condition",type:"FormalExpression"},{name:"event",type:"ImplicitThrowEvent"}]},{name:"ResourceRole",superClass:["BaseElement"],properties:[{name:"resourceRef",type:"Resource",isReference:!0},{name:"resourceParameterBindings",type:"ResourceParameterBinding",isMany:!0},{name:"resourceAssignmentExpression",type:"ResourceAssignmentExpression"},{name:"name",isAttr:!0,type:"String"}]},{name:"ResourceParameterBinding",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"parameterRef",type:"ResourceParameter",isAttr:!0,isReference:!0}],superClass:["BaseElement"]},{name:"ResourceAssignmentExpression",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}}],superClass:["BaseElement"]},{name:"Import",properties:[{name:"importType",isAttr:!0,type:"String"},{name:"location",isAttr:!0,type:"String"},{name:"namespace",isAttr:!0,type:"String"}]},{name:"Definitions",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"targetNamespace",isAttr:!0,type:"String"},{name:"expressionLanguage",default:"http://www.w3.org/1999/XPath",isAttr:!0,type:"String"},{name:"typeLanguage",default:"http://www.w3.org/2001/XMLSchema",isAttr:!0,type:"String"},{name:"imports",type:"Import",isMany:!0},{name:"extensions",type:"Extension",isMany:!0},{name:"rootElements",type:"RootElement",isMany:!0},{name:"diagrams",isMany:!0,type:"bpmndi:BPMNDiagram"},{name:"exporter",isAttr:!0,type:"String"},{name:"relationships",type:"Relationship",isMany:!0},{name:"exporterVersion",isAttr:!0,type:"String"}]}],enumerations:[{name:"ProcessType",literalValues:[{name:"None"},{name:"Public"},{name:"Private"}]},{name:"GatewayDirection",literalValues:[{name:"Unspecified"},{name:"Converging"},{name:"Diverging"},{name:"Mixed"}]},{name:"EventBasedGatewayType",literalValues:[{name:"Parallel"},{name:"Exclusive"}]},{name:"RelationshipDirection",literalValues:[{name:"None"},{name:"Forward"},{name:"Backward"},{name:"Both"}]},{name:"ItemKind",literalValues:[{name:"Physical"},{name:"Information"}]},{name:"ChoreographyLoopType",literalValues:[{name:"None"},{name:"Standard"},{name:"MultiInstanceSequential"},{name:"MultiInstanceParallel"}]},{name:"AssociationDirection",literalValues:[{name:"None"},{name:"One"},{name:"Both"}]},{name:"MultiInstanceBehavior",literalValues:[{name:"None"},{name:"One"},{name:"All"},{name:"Complex"}]},{name:"AdHocOrdering",literalValues:[{name:"Parallel"},{name:"Sequential"}]}],xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",prefix:"bpmndi",types:[{name:"BPMNDiagram",properties:[{name:"plane",type:"BPMNPlane",redefines:"di:Diagram#rootElement"},{name:"labelStyle",type:"BPMNLabelStyle",isMany:!0}],superClass:["di:Diagram"]},{name:"BPMNPlane",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"}],superClass:["di:Plane"]},{name:"BPMNShape",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"isHorizontal",isAttr:!0,type:"Boolean"},{name:"isExpanded",isAttr:!0,type:"Boolean"},{name:"isMarkerVisible",isAttr:!0,type:"Boolean"},{name:"label",type:"BPMNLabel"},{name:"isMessageVisible",isAttr:!0,type:"Boolean"},{name:"participantBandKind",type:"ParticipantBandKind",isAttr:!0},{name:"choreographyActivityShape",type:"BPMNShape",isAttr:!0,isReference:!0}],superClass:["di:LabeledShape"]},{name:"BPMNEdge",properties:[{name:"label",type:"BPMNLabel"},{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"sourceElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#source"},{name:"targetElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#target"},{name:"messageVisibleKind",type:"MessageVisibleKind",isAttr:!0,default:"initiating"}],superClass:["di:LabeledEdge"]},{name:"BPMNLabel",properties:[{name:"labelStyle",type:"BPMNLabelStyle",isAttr:!0,isReference:!0,redefines:"di:DiagramElement#style"}],superClass:["di:Label"]},{name:"BPMNLabelStyle",properties:[{name:"font",type:"dc:Font"}],superClass:["di:Style"]}],enumerations:[{name:"ParticipantBandKind",literalValues:[{name:"top_initiating"},{name:"middle_initiating"},{name:"bottom_initiating"},{name:"top_non_initiating"},{name:"middle_non_initiating"},{name:"bottom_non_initiating"}]},{name:"MessageVisibleKind",literalValues:[{name:"initiating"},{name:"non_initiating"}]}],associations:[]},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",prefix:"dc",types:[{name:"Boolean"},{name:"Integer"},{name:"Real"},{name:"String"},{name:"Font",properties:[{name:"name",type:"String",isAttr:!0},{name:"size",type:"Real",isAttr:!0},{name:"isBold",type:"Boolean",isAttr:!0},{name:"isItalic",type:"Boolean",isAttr:!0},{name:"isUnderline",type:"Boolean",isAttr:!0},{name:"isStrikeThrough",type:"Boolean",isAttr:!0}]},{name:"Point",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0}]},{name:"Bounds",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0},{name:"width",type:"Real",isAttr:!0},{name:"height",type:"Real",isAttr:!0}]}],associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",prefix:"di",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"extension",type:"Extension"},{name:"owningDiagram",type:"Diagram",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"owningElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"modelElement",isReadOnly:!0,isVirtual:!0,isReference:!0,type:"Element"},{name:"style",type:"Style",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"ownedElement",type:"DiagramElement",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Node",isAbstract:!0,superClass:["DiagramElement"]},{name:"Edge",isAbstract:!0,superClass:["DiagramElement"],properties:[{name:"source",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"target",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"waypoint",isUnique:!1,isMany:!0,type:"dc:Point",xml:{serialize:"xsi:type"}}]},{name:"Diagram",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"rootElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0},{name:"name",isAttr:!0,type:"String"},{name:"documentation",isAttr:!0,type:"String"},{name:"resolution",isAttr:!0,type:"Real"},{name:"ownedStyle",type:"Style",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Shape",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Plane",isAbstract:!0,superClass:["Node"],properties:[{name:"planeElement",type:"DiagramElement",subsettedProperty:"DiagramElement-ownedElement",isMany:!0}]},{name:"LabeledEdge",isAbstract:!0,superClass:["Edge"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"}]},{name:"Extension",properties:[{name:"values",isMany:!0,type:"Element"}]}],associations:[],xml:{tagAlias:"lowerCase"}},bioc:{name:"bpmn.io colors for BPMN",uri:"http://bpmn.io/schema/bpmn/biocolor/1.0",prefix:"bioc",types:[{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]},color:{name:"BPMN in Color",uri:"http://www.omg.org/spec/BPMN/non-normative/color/1.0",prefix:"color",types:[{name:"ColoredLabel",extends:["bpmndi:BPMNLabel"],properties:[{name:"color",isAttr:!0,type:"String"}]},{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"background-color",isAttr:!0,type:"String"},{name:"border-color",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"border-color",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]}};function Hi(e,t){return new zi(w({},Gi,e),t)}var $i=new pn({name:"bpmnElement",enumerable:!0},{name:"di",configurable:!0});function Ki(e,t){return e.$instanceOf(t)}function Ui(e,t){var n={},i=[];function r(e,t){return function(n){e(n,t)}}function a(e){n[e.id]=e}function o(n,i){try{var r=n.di&&function(n,i){if(n.gfx)throw new Error(t("already rendered {element}",{element:nt(n)}));return e.element(n,i)}(n,i);return a(n),r}catch(e){s(e.message,{element:n,error:e}),console.error(t("failed to import {element}",{element:nt(n)})),console.error(e)}}function s(t,n){e.error(t,n)}function l(e){var n=e.bpmnElement;n?n.di?s(t("multiple DI elements defined for {element}",{element:nt(n)}),{element:n}):($i.bind(n,"di"),n.di=e):s(t("no bpmnElement referenced in {element}",{element:nt(e)}),{element:e})}function p(e){var t;l(t=e.plane),m(t.planeElement,c)}function c(e){l(e)}function f(){for(;i.length;)i.shift()()}function d(e,t){M(e,t),E(e.ioSpecification,t),w(e.artifacts,t),a(e)}function y(e,t){o(e,t)}function g(e,t){o(e,t)}function v(e,t){o(e,t)}function x(e,t){o(e,t)}function b(e,t){o(e,t)}function w(e,t){m(e,(function(e){Ki(e,"bpmn:Association")?i.push((function(){b(e,t)})):b(e,t)}))}function E(e,t){e&&(m(e.dataInputs,r(v,t)),m(e.dataOutputs,r(x,t)))}function _(e,t){M(e,t),w(e.artifacts,t)}function A(e,t){var n=o(e,t);Ki(e,"bpmn:SubProcess")&&_(e,n||t),Ki(e,"bpmn:Activity")&&E(e.ioSpecification,t),i.push((function(){m(e.dataInputAssociations,r(g,t)),m(e.dataOutputAssociations,r(g,t))}))}function S(e,t){o(e,t)}function R(e,t){i.push((function(){var n=o(e,t);e.childLaneSet&&C(e.childLaneSet,n||t),function(e){m(e.flowNodeRef,(function(t){var n=t.get("lanes");n&&n.push(e)}))}(e)}))}function C(e,t){m(e.lanes,r(R,t))}function M(e,n){!function(e,n){m(e,(function(e){Ki(e,"bpmn:SequenceFlow")?i.push((function(){!function(e,t){o(e,t)}(e,n)})):Ki(e,"bpmn:BoundaryEvent")?i.unshift((function(){A(e,n)})):Ki(e,"bpmn:FlowNode")?A(e,n):Ki(e,"bpmn:DataObject")||(Ki(e,"bpmn:DataStoreReference")||Ki(e,"bpmn:DataObjectReference")?S(e,n):s(t("unrecognized flowElement {element} in context {context}",{element:nt(e),context:n?nt(n.businessObject):"null"}),{element:e,context:n}))}))}(e.flowElements,n),e.laneSets&&function(e,t){m(e,r(C,t))}(e.laneSets,n)}function k(e,t){var n=o(e,t),i=e.processRef;i&&d(i,n||t)}return{handleDeferred:f,handleDefinitions:function(a,o){var c=a.diagrams;if(o&&-1===c.indexOf(o))throw new Error(t("diagram not part of bpmn:Definitions"));if(!o&&c&&c.length&&(o=c[0]),!o)throw new Error(t("no diagram to display"));p(o);var g=o.plane;if(!g)throw new Error(t("no plane for {element}",{element:nt(o)}));var v=g.bpmnElement;if(!v){if(!(v=function(e){return u(e.rootElements,(function(e){return Ki(e,"bpmn:Process")||Ki(e,"bpmn:Collaboration")}))}(a)))throw new Error(t("no process or collaboration to display"));s(t("correcting missing bpmnElement on {plane} to {rootElement}",{plane:nt(g),rootElement:nt(v)})),g.bpmnElement=v,l(g)}var x,b=function(t,n){return e.root(t,n)}(v,g);if(Ki(v,"bpmn:Process"))d(v,b);else{if(!Ki(v,"bpmn:Collaboration"))throw new Error(t("unsupported bpmnElement for {plane}: {rootElement}",{plane:nt(g),rootElement:nt(v)}));m((x=v).participants,r(k)),w(x.artifacts),i.push((function(){var e;m(x.messageFlows,r(y,e))})),function(e,t){h(e,(function(e){return!n[e.id]&&Ki(e,"bpmn:Process")&&e.laneSets})).forEach(r(d,t))}(a.rootElements,b)}f()},handleSubProcess:_,registerDi:l}}function qi(e,t,n){var i,r,a,o=[];return new Promise((function(s,l){try{return i=e.get("bpmnImporter"),r=e.get("eventBus"),a=e.get("translate"),r.fire("import.render.start",{definitions:t}),function(e,t){new Ui({root:function(e){return i.add(e)},element:function(e,t){return i.add(e,t)},error:function(e,t){o.push({message:e,context:t})}},a).handleDefinitions(e,t)}(t,n),r.fire("import.render.complete",{error:undefined,warnings:o}),s({warnings:o})}catch(e){return e.warnings=o,l(e)}}))}function Yi(e){return function(){if(!window.Promise)throw new Error("Promises is not supported in this environment. Please polyfill Promise.");var t=arguments.length;if(!(t>=1&&l(arguments[t-1])))return e.apply(this,arguments);var n=arguments[t-1];console.warn(new Error("Passing callbacks to "+e.name+" is deprecated and will be removed in a future major release. Please switch to promises: https://bpmn.io/l/moving-to-promises.html"));var i=Array.prototype.slice.call(arguments,0,-1);e.apply(this,i).then((function(e){var t=Object.keys(e)[0];return n(null,e[t])}),(function(e){return n(e,e.warnings)}))}}
3/**
4 * This file must not be changed or exchanged.
5 *
6 * @see http://bpmn.io/license for more information.
7 */var Xi='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.02 5.57" width="53" height="21" style="vertical-align:middle"><path fill="currentColor" d="M1.88.92v.14c0 .41-.13.68-.4.8.33.14.46.44.46.86v.33c0 .61-.33.95-.95.95H0V0h.95c.65 0 .93.3.93.92zM.63.57v1.06h.24c.24 0 .38-.1.38-.43V.98c0-.28-.1-.4-.32-.4zm0 1.63v1.22h.36c.2 0 .32-.1.32-.39v-.35c0-.37-.12-.48-.4-.48H.63zM4.18.99v.52c0 .64-.31.98-.94.98h-.3V4h-.62V0h.92c.63 0 .94.35.94.99zM2.94.57v1.35h.3c.2 0 .3-.09.3-.37v-.6c0-.29-.1-.38-.3-.38h-.3zm2.89 2.27L6.25 0h.88v4h-.6V1.12L6.1 3.99h-.6l-.46-2.82v2.82h-.55V0h.87zM8.14 1.1V4h-.56V0h.79L9 2.4V0h.56v4h-.64zm2.49 2.29v.6h-.6v-.6zM12.12 1c0-.63.33-1 .95-1 .61 0 .95.37.95 1v2.04c0 .64-.34 1-.95 1-.62 0-.95-.37-.95-1zm.62 2.08c0 .28.13.39.33.39s.32-.1.32-.4V.98c0-.29-.12-.4-.32-.4s-.33.11-.33.4z"/><path fill="currentColor" d="M0 4.53h14.02v1.04H0zM11.08 0h.63v.62h-.63zm.63 4V1h-.63v2.98z"/></svg>';function Zi(e){return e.join(";")}var Ji,Qi=Zi(["color: #404040"]),er='<div class="bjs-powered-by-lightbox" style="'+Zi(["z-index: 1001","position: fixed","top: 0","left: 0","right: 0","bottom: 0"])+'"><div class="backdrop" style="'+Zi(["width: 100%","height: 100%","background: rgba(40,40,40,0.2)"])+'"></div><div class="notice" style="'+Zi(["position: absolute","left: 50%","top: 40%","transform: translate(-50%)","width: 260px","padding: 10px","background: white","box-shadow: 0 1px 4px rgba(0,0,0,0.3)","font-family: Helvetica, Arial, sans-serif","font-size: 14px","display: flex","line-height: 1.3"])+'"><a href="https://bpmn.io" target="_blank" rel="noopener" style="margin: 15px 20px 15px 10px; align-self: center;'+Qi+'">'+Xi+'</a><span>Web-based tooling for BPMN, DMN and CMMN diagrams powered by <a href="https://bpmn.io" target="_blank" rel="noopener">bpmn.io</a>.</span></div></div>';
8/**
9 * The code in the <project-logo></project-logo> area
10 * must not be changed.
11 *
12 * @see http://bpmn.io/license for more information.
13 */
14function tr(e){
15/**
16 * Adds the project logo to the diagram container as
17 * required by the bpmn.io license.
18 *
19 * @see http://bpmn.io/license
20 *
21 * @param {Element} container
22 */
23var t,n;e=w({},ir,e),this._moddle=this._createModdle(e),this._container=this._createContainer(e),t=this._container,n=Me('<a href="http://bpmn.io" target="_blank" class="bjs-powered-by" title="Powered by bpmn.io" style="position: absolute; bottom: 15px; right: 15px; z-index: 100; '+Qi+'">'+Xi+"</a>"),t.appendChild(n),_e(n,"click",(function(e){Ji||(Ji=Me(er),Ce.bind(Ji,".backdrop","click",(function(e){document.body.removeChild(Ji)}))),document.body.appendChild(Ji),e.preventDefault()})),this._init(this._container,this._moddle,e)}function nr(e,t){return e.warnings=t,e}t(tr,kn),tr.prototype.importXML=Yi((function(e,t){var n=this;return new Promise((function(i,r){e=n._emit("import.parse.start",{xml:e})||e,n._moddle.fromXML(e,"bpmn:Definitions").then((function(e){var a,o,s=e.rootElement,l=e.references,p=e.warnings,c=e.elementsById;s=n._emit("import.parse.complete",(a={error:null,definitions:s,elementsById:c,references:l,warnings:p},o=n.get("eventBus").createEvent(a),Object.defineProperty(o,"context",{enumerable:!0,get:function(){return console.warn(new Error("import.parse.complete <context> is deprecated and will be removed in future library versions")),{warnings:a.warnings,references:a.references,elementsById:a.elementsById}}}),o))||s,n.importDefinitions(s,t).then((function(e){var t=[].concat(p,e.warnings||[]);return n._emit("import.done",{error:null,warnings:t}),i({warnings:t})})).catch((function(e){var t=[].concat(p,e.warnings||[]);return n._emit("import.done",{error:e,warnings:t}),r(nr(e,t))}))})).catch((function(e){return n._emit("import.parse.complete",{error:e}),e=function(e){var t=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(e.message);t&&(e.message="unparsable content <"+t[1]+"> detected; this may indicate an invalid BPMN 2.0 diagram file"+t[2]);return e}(e),n._emit("import.done",{error:e,warnings:e.warnings}),r(e)}))}))})),tr.prototype.importDefinitions=Yi((function(e,t){var n=this;return new Promise((function(i,r){n._setDefinitions(e),n.open(t).then((function(e){var t=e.warnings;return i({warnings:t})})).catch((function(e){return r(e)}))}))})),tr.prototype.open=Yi((function(e){var t=this._definitions,n=e,i=this;return new Promise((function(r,a){if(!t){var o=new Error("no XML imported");return a(nr(o,[]))}if("string"==typeof e&&!(n=function(e,t){if(!t)return null;return u(e.diagrams,(function(e){return e.id===t}))||null}(t,e))){var s=new Error("BPMNDiagram <"+e+"> not found");return a(nr(s,[]))}try{i.clear()}catch(e){return a(nr(e,[]))}qi(i,t,n).then((function(e){var t=e.warnings;return r({warnings:t})})).catch((function(e){return a(e)}))}))})),tr.prototype.saveXML=Yi((function(e){e=e||{};var t=this,n=this._definitions;return new Promise((function(i){if(!n)return i({error:new Error("no definitions loaded")});n=t._emit("saveXML.start",{definitions:n})||n,t._moddle.toXML(n,e).then((function(e){var n=e.xml;return n=t._emit("saveXML.serialized",{xml:n})||n,i({xml:n})}))})).catch((function(e){return{error:e}})).then((function(e){t._emit("saveXML.done",e);var n=e.error;return n?Promise.reject(n):e}))})),tr.prototype.saveSVG=Yi((function(e){var t=this;return new Promise((function(e,n){var i,r;t._emit("saveSVG.start");try{var a=t.get("canvas"),o=a.getDefaultLayer(),s=Ne("defs",a._svg),l=J(o),p=s?"<defs>"+J(s)+"</defs>":"",c=o.getBBox();i='<?xml version="1.0" encoding="utf-8"?>\n\x3c!-- created with bpmn-js / http://bpmn.io --\x3e\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+c.width+'" height="'+c.height+'" viewBox="'+c.x+" "+c.y+" "+c.width+" "+c.height+'" version="1.1">'+p+l+"</svg>"}catch(e){r=e}return t._emit("saveSVG.done",{error:r,svg:i}),r?n(r):e({svg:i})}))})),tr.prototype._setDefinitions=function(e){this._definitions=e},tr.prototype.getModules=function(){return this._modules},tr.prototype.clear=function(){this.getDefinitions()&&(this.get("elementRegistry").forEach((function(e){var t=e.businessObject;t&&t.di&&delete t.di})),kn.prototype.clear.call(this))},tr.prototype.destroy=function(){kn.prototype.destroy.call(this),Te(this._container)},tr.prototype.on=function(e,t,n,i){return this.get("eventBus").on(e,t,n,i)},tr.prototype.off=function(e,t){this.get("eventBus").off(e,t)},tr.prototype.attachTo=function(e){if(!e)throw new Error("parentNode required");this.detach(),e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),"string"==typeof e&&(e=Ne(e)),e.appendChild(this._container),this._emit("attach",{}),this.get("canvas").resized()},tr.prototype.getDefinitions=function(){return this._definitions},tr.prototype.detach=function(){var e=this._container,t=e.parentNode;t&&(this._emit("detach",{}),t.removeChild(e))},tr.prototype._init=function(e,t,n){var i,r,a=n.modules||this.getModules(),o=n.additionalModules||[],s=[].concat([{bpmnjs:["value",this],moddle:["value",t]}],a,o),l=w((i=["additionalModules"],r={},m(Object(n),(function(e,t){-1===i.indexOf(t)&&(r[t]=e)})),r),{canvas:w({},n.canvas,{container:e}),modules:s});kn.call(this,l),n&&n.container&&this.attachTo(n.container)},tr.prototype._emit=function(e,t){return this.get("eventBus").fire(e,t)},tr.prototype._createContainer=function(e){var t=Me('<div class="bjs-container"></div>');return w(t.style,{width:rr(e.width),height:rr(e.height),position:e.position}),t},tr.prototype._createModdle=function(e){return new Hi(w({},this._moddleExtensions,e.moddleExtensions))},tr.prototype._modules=[];var ir={width:"100%",height:"100%",position:"relative"};function rr(e){return e+(s(e)?"px":"")}function ar(e){tr.call(this,e)}return t(ar,tr),ar.prototype._modules=[st,Xe,Rt,Dt],ar.prototype._moddleExtensions={},ar}));