graphdb-workbench 2.4.1 → 2.4.2-RC1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/{0.7daec4382561aa8681d5.bundle.js → 0.c6e0a1afafc7ffdfaccc.bundle.js} +1 -1
  2. package/dist/{10.25c3009270232c3ad844.bundle.js → 10.2fd5d150b0f308c19b16.bundle.js} +1 -1
  3. package/dist/108.99fadee1ed0c7110af9a.bundle.js +1 -0
  4. package/dist/{11.08c502782a3bd04cb48b.bundle.js → 11.d13b4e6a939fc0b5a125.bundle.js} +1 -1
  5. package/dist/{114.3a6135cc10951d23cb56.bundle.js → 114.2f1bbfe1abb21122d2e1.bundle.js} +1 -1
  6. package/dist/{117.45f91d2cf367836dadae.bundle.js → 117.23e75248d8a499cef320.bundle.js} +1 -1
  7. package/dist/{12.0ca290ed18d2524f66e7.bundle.js → 12.dd3a24172cf3cdec30f0.bundle.js} +2 -2
  8. package/dist/{124.7ce2385e2ce2ac41a255.bundle.js → 124.8e3d5ba12c298ea9a439.bundle.js} +1 -1
  9. package/dist/{128.4eb95500c74ddcbc0ec1.bundle.js → 128.280921c83837d6b5ed1e.bundle.js} +1 -1
  10. package/dist/13.ac00d726d1145cb0e057.bundle.js +1 -0
  11. package/dist/{130.8d0c570a8363e55b4892.bundle.js → 130.9aea5c200bad449041e5.bundle.js} +1 -1
  12. package/dist/{133.c9432441d39dbdf45a46.bundle.js → 133.7ff3260122aed5f9da82.bundle.js} +1 -1
  13. package/dist/{134.64ab677e16aa2b0c78b1.bundle.js → 134.937aed94c3cba12e70de.bundle.js} +1 -1
  14. package/dist/{136.22f6c4a19299925123a0.bundle.js → 136.50ad256ff91ae8bd138c.bundle.js} +1 -1
  15. package/dist/{137.802084605202b8b7aef1.bundle.js → 137.19836eabf5f16be529c0.bundle.js} +1 -1
  16. package/dist/{138.1eae7a838df0b1e52ff4.bundle.js → 138.3d79db7fc7908d986c2d.bundle.js} +1 -1
  17. package/dist/14.82b9ba9a0a77131aa582.bundle.js +1 -0
  18. package/dist/{144.d2120bcd066b96e7ee58.bundle.js → 144.24d2001adcd0546ce679.bundle.js} +1 -1
  19. package/dist/{146.a2f5b077f3eec4961a4b.bundle.js → 146.0bf605fa5b7cc102937f.bundle.js} +1 -1
  20. package/dist/{15.54781c280e23072b66c5.bundle.js → 15.b27c1c98f320b78e704c.bundle.js} +1 -1
  21. package/dist/{150.f3a633da2c7c2b9cd7c4.bundle.js → 150.7224dc087612aa0ff0c1.bundle.js} +1 -1
  22. package/dist/{153.f710bf5c73f7d736a4b1.bundle.js → 153.8fbeed8e7e94213c6df1.bundle.js} +1 -1
  23. package/dist/{155.46f2a94df187ed492591.bundle.js → 155.68e389692623c7b68878.bundle.js} +1 -1
  24. package/dist/{16.24206eca9306f6f153d6.bundle.js → 16.9f43f2a2cb3de6b50964.bundle.js} +1 -1
  25. package/dist/168.34a1790ea589d9926a97.bundle.js +1 -1
  26. package/dist/{17.f3d91ad6fab1a190a416.bundle.js → 17.7a20974aaea2122ed42f.bundle.js} +1 -1
  27. package/dist/170.e24cfa80d3f51df2b1b5.bundle.js +1 -0
  28. package/dist/171.49aabfdb3574cef3d14b.bundle.js +1 -0
  29. package/dist/173.5e3fea538a2a2d5b5c0c.bundle.js +1 -1
  30. package/dist/{18.119e4e696a9b2da67a3f.bundle.js → 18.db18b987a6ea55fddc4a.bundle.js} +2 -2
  31. package/dist/{19.f461a770949b2e409d05.bundle.js → 19.9a73670b7772d8bf1969.bundle.js} +1 -1
  32. package/dist/{2.308618aec7201e8045bd.bundle.js → 2.888ee146d785447620e1.bundle.js} +2 -2
  33. package/dist/{20.635488a03f910fa4518b.bundle.js → 20.918905a6efc81c27dcf6.bundle.js} +1 -1
  34. package/dist/200.76fd30afe28687f92b15.bundle.js +1 -1
  35. package/dist/{21.9bbe46c05fe4a34a9cf8.bundle.js → 21.fa61daf65c6bc29e06a2.bundle.js} +1 -1
  36. package/dist/{22.0ae31e473d0af170b177.bundle.js → 22.197477933275583c65cb.bundle.js} +2 -2
  37. package/dist/23.dc3e430b47f766cc2366.bundle.js +1 -1
  38. package/dist/{24.8d3f4b05a5101a6a685b.bundle.js → 24.4c9b73b3909403e82055.bundle.js} +1 -1
  39. package/dist/{31.9a07cc30c05a1a698b98.bundle.js → 25.71b2ceec450a85158ba8.bundle.js} +2 -2
  40. package/dist/{25.2a489b131bab984243fa.bundle.js → 26.60c61d8ca245bad6597d.bundle.js} +1 -1
  41. package/dist/{26.377d1bc26079a8159e3c.bundle.js → 27.56996601ec3795c65c3d.bundle.js} +1 -1
  42. package/dist/{27.60396d05fddda4894ce3.bundle.js → 28.79f65106f49c5036504b.bundle.js} +1 -1
  43. package/dist/{28.aebd82e778f3fcd55219.bundle.js → 29.3f41e0d8e9f58188a02b.bundle.js} +1 -1
  44. package/dist/30.4712f3e92b6469d3d8dd.bundle.js +1 -0
  45. package/dist/{30.acdf84b0bcd3f178c2fd.bundle.js → 31.a05a0072057c061cd0dc.bundle.js} +1 -1
  46. package/dist/{32.f88a50038df0d43ccfc4.bundle.js → 32.27c9ee63125cca89f908.bundle.js} +1 -1
  47. package/dist/33.0433fbc733c2359c389c.bundle.js +1 -0
  48. package/dist/{33.d4463e934ae20163667d.bundle.js → 34.e5150a1b66426d5f5af7.bundle.js} +1 -1
  49. package/dist/{34.3046d2d28129a67d4483.bundle.js → 35.0766d50ada31ef79b4b0.bundle.js} +1 -1
  50. package/dist/{35.69758da395b815346a2f.bundle.js → 36.25471fd55c32f7f02568.bundle.js} +1 -1
  51. package/dist/37.356f6302c079cea446b6.bundle.js +1 -0
  52. package/dist/{37.ac5b9eaa607c43ec69df.bundle.js → 38.94b303a3b944480a495a.bundle.js} +1 -1
  53. package/dist/{38.b776c45fe26516ca8160.bundle.js → 39.a5409bc3fec719768f37.bundle.js} +1 -1
  54. package/dist/{4.870de73e2e763f35280a.bundle.js → 4.83e133ed3a567a27c699.bundle.js} +1 -1
  55. package/dist/{39.c74b936329bf2477fbdb.bundle.js → 40.61f5dedc12beb42c1f44.bundle.js} +1 -1
  56. package/dist/{40.2c1f1cc8c521b8209885.bundle.js → 41.62789a75dd9dddbc1297.bundle.js} +1 -1
  57. package/dist/42.2226eabae24538761847.bundle.js +1 -0
  58. package/dist/{42.b6c558e4b660bdb0be4d.bundle.js → 43.3876fb2ec9b5b6b646df.bundle.js} +1 -1
  59. package/dist/{43.42c27c3277a302252fc5.bundle.js → 44.e63112a4f3ee65c29a0a.bundle.js} +1 -1
  60. package/dist/{44.96d4cf9f701897a90fce.bundle.js → 45.2b1cf89f777bb5fda383.bundle.js} +1 -1
  61. package/dist/{45.2c4bc26cf5fbe9b84cb6.bundle.js → 46.f07b159fc6cc07492e2b.bundle.js} +1 -1
  62. package/dist/{46.d63a366dbcb649ed1fbb.bundle.js → 47.1bacc6e38fde37677380.bundle.js} +1 -1
  63. package/dist/{47.0ecc5620f91346c3e7d4.bundle.js → 48.345db2f50dae9ec7d11a.bundle.js} +1 -1
  64. package/dist/49.b0d0df9a0bd2458a38f7.bundle.js +1 -0
  65. package/dist/{5.adea5d522be945b9d8d3.bundle.js → 5.93d75276b7a283deddc8.bundle.js} +1 -1
  66. package/dist/50.3e3c5da47d3b02a13948.bundle.js +1 -0
  67. package/dist/{50.6695e410303c03ad694c.bundle.js → 51.9a911ea64d2bbe27a6b8.bundle.js} +1 -1
  68. package/dist/{51.95f30e28e67312c9df42.bundle.js → 52.0673b651acdd40122168.bundle.js} +1 -1
  69. package/dist/{52.b0f496f823a213178075.bundle.js → 53.9b5d43c58aa368765457.bundle.js} +1 -1
  70. package/dist/{53.716d3c94c3d0959a26a8.bundle.js → 54.028884d762d361c54c23.bundle.js} +1 -1
  71. package/dist/{54.44b8cf059fe5ba4bf144.bundle.js → 55.4966f01604a6c84d301e.bundle.js} +1 -1
  72. package/dist/{55.891486b3fa68d44f3a52.bundle.js → 56.da176c234be30906ed18.bundle.js} +1 -1
  73. package/dist/{56.3548e08f4add9390e771.bundle.js → 57.413a1beccae08b5eb787.bundle.js} +1 -1
  74. package/dist/{57.9f0dbb2e3b44c19c8dcd.bundle.js → 58.8ba78ec049c5c97e4391.bundle.js} +1 -1
  75. package/dist/{58.a76e6e35994e2cb1a7f6.bundle.js → 59.25436d0038d7be337d24.bundle.js} +1 -1
  76. package/dist/{59.6dfdee0f9651ff9aa2f6.bundle.js → 60.571f2c6fcdec505acb5a.bundle.js} +1 -1
  77. package/dist/{60.2b410d552e467b555529.bundle.js → 61.8dca89c50677ace894ee.bundle.js} +1 -1
  78. package/dist/{61.03a75a3d8faf4c165a0c.bundle.js → 62.3a5f8d2165a2f6058360.bundle.js} +1 -1
  79. package/dist/{62.86ba4d7804758d2e3f48.bundle.js → 63.2ea3fe6eb8be5ab57564.bundle.js} +1 -1
  80. package/dist/{63.5e2ca7ce2ea95b397fe7.bundle.js → 64.4e84a027a9f1d66a69db.bundle.js} +1 -1
  81. package/dist/{64.6a8854031771d4d4ef74.bundle.js → 65.da0571f9102cc340a6b9.bundle.js} +1 -1
  82. package/dist/{65.9e598abd11534c42a0c1.bundle.js → 66.104f9f5e48af12f94fbe.bundle.js} +1 -1
  83. package/dist/{7.0af6bb74bf88aa8f14ca.bundle.js → 7.39ff1f0ec65d7d7b73f5.bundle.js} +2 -2
  84. package/dist/{72.c82f209992278009e1a3.bundle.js → 72.25f264649b4e7f9dd670.bundle.js} +1 -1
  85. package/dist/{75.13e0f311c6c98067c4f8.bundle.js → 75.89f4b3371fc1c8679763.bundle.js} +1 -1
  86. package/dist/76.7d3ef13875f7533cc029.bundle.js +1 -0
  87. package/dist/{77.0373cd7f1c2851df3908.bundle.js → 77.122517ab9f81c08963fd.bundle.js} +1 -1
  88. package/dist/81.824c9bdd22dd196eb3d9.bundle.js +1 -0
  89. package/dist/{83.a6c2ad332de0ee224136.bundle.js → 83.0837870d0e1682a6487c.bundle.js} +1 -1
  90. package/dist/9.0e4d38f2390c619f5b26.bundle.js +1 -0
  91. package/dist/{bundle.c7f3e729665657fc72ff.bundle.js → bundle.5124691819d99ff5da1d.bundle.js} +12 -12
  92. package/dist/css/new-sparql.css +31 -1
  93. package/dist/index.html +3 -3
  94. package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
  95. package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +14 -13
  96. package/dist/js/angular/core/directives/queryeditor/templates/query-editor.html +4 -23
  97. package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
  98. package/dist/js/angular/security/templates/user.html +1 -1
  99. package/dist/license-checker.json +2 -2
  100. package/dist/pages/aclmanagement.html +1 -1
  101. package/dist/pages/autocomplete.html +1 -1
  102. package/dist/pages/choose-repository-type.html +1 -1
  103. package/dist/pages/cluster-management/clusterInfo.html +3 -3
  104. package/dist/pages/create-index.html +4 -4
  105. package/dist/pages/dependencies.html +1 -1
  106. package/dist/pages/domainRangeInfo.html +2 -2
  107. package/dist/pages/edit.html +1 -1
  108. package/dist/pages/explore.html +1 -1
  109. package/dist/pages/export.html +1 -1
  110. package/dist/pages/find.html +1 -1
  111. package/dist/pages/graph-config/saveGraphConfig.html +11 -11
  112. package/dist/pages/graphs-visualizations.html +7 -7
  113. package/dist/pages/guides.html +1 -1
  114. package/dist/pages/import.html +1 -1
  115. package/dist/pages/jdbc-create.html +5 -5
  116. package/dist/pages/monitor/backup-and-restore.html +1 -1
  117. package/dist/pages/monitor/queries.html +1 -1
  118. package/dist/pages/monitor/resources.html +2 -2
  119. package/dist/pages/namespaces.html +2 -2
  120. package/dist/pages/plugins.html +1 -1
  121. package/dist/pages/rdfClassHierarchyInfo.html +7 -7
  122. package/dist/pages/rdfrank.html +2 -2
  123. package/dist/pages/repositories.html +2 -2
  124. package/dist/pages/repository.html +2 -2
  125. package/dist/pages/similarity-indexes.html +1 -1
  126. package/dist/pages/sparql-template-create.html +5 -5
  127. package/dist/pages/sparql.html +3 -3
  128. package/dist/pages/webapi.html +2 -2
  129. package/dist/res/swagger/index.html +27 -27
  130. package/package.json +1 -1
  131. package/dist/108.83bb7ce803f462882200.bundle.js +0 -1
  132. package/dist/13.6a3e4e38a9efa1adf29e.bundle.js +0 -1
  133. package/dist/14.8343a1e9afdb39f1c2dc.bundle.js +0 -1
  134. package/dist/170.d5527024ac9107b542c3.bundle.js +0 -1
  135. package/dist/171.c0e7ce3fd59ef1bfc4f5.bundle.js +0 -1
  136. package/dist/29.9a6f92841eb0a4870045.bundle.js +0 -1
  137. package/dist/36.8f7908db8f70bbd3318c.bundle.js +0 -1
  138. package/dist/41.ca5e37c70938b397f260.bundle.js +0 -1
  139. package/dist/48.f8b0ea5f9306e24ac2d0.bundle.js +0 -1
  140. package/dist/49.3da99bdb2271cf2adc7b.bundle.js +0 -1
  141. package/dist/66.7b18071c05eb5efb213b.bundle.js +0 -1
  142. package/dist/76.44bdcc2130c6a744bc55.bundle.js +0 -1
  143. package/dist/81.c14757a485d616ca95ba.bundle.js +0 -1
  144. package/dist/9.1e2a1467755135bb1717.bundle.js +0 -1
@@ -0,0 +1 @@
1
+ (window.webpackJsonp=window.webpackJsonp||[]).push([[13,9,16,38,40,50,53,54,55,56,57,58,59,60,61,76,77,131,133,137,154],{118:function(t,e,n){"use strict";n.r(e);n(7),n(22),n(25),n(58);function r(t,e,n,r,i,a){t.getSqlConfigurations=function(){!e.getActiveRepository()||e.isActiveRepoOntopType()||e.isActiveRepoFedXType()?t.jdbcConfigurations=[]:n.getJdbcConfigurations().success((function(e){t.jdbcConfigurations=e})).error((function(t){const e=getError(t);r.error(e,a.instant("jdbc.not.get.SQL.msg"))}))},t.$watch((function(){return e.getActiveRepository()}),(function(){t.getSqlConfigurations()})),t.deleteConfiguration=function(e){i.openSimpleModal({title:a.instant("common.warning"),message:a.instant("jdbc.delete.sql.table.warning.msg",{name:e}),warning:!0}).result.then((function(){n.deleteJdbcConfiguration(e).success((function(){t.getSqlConfigurations()})).error((function(t){r.error(getError(t),a.instant("jdbc.not.delete.sql.msg"))}))}))}}function i(t,e,n,r,i,a,o,s,l,u,c){t.name=e.search().name||"",t.getNamespaces=function(){v(!0,c.instant("common.refreshing.namespaces"),c.instant("common.extra.message")),s.getRepositoryNamespaces().success((function(e){const n={};e.results.bindings.forEach((function(t){n[t.prefix.value]=t.namespace.value})),t.namespaces=n})).error((function(e){t.repositoryError=getError(e)})).finally((function(){v(!1),m()}))},t.setLoader=v,t.addKnownPrefixes=b,t.page=1,t.noPadding={paddingRight:0,paddingLeft:0},t.sqlTypes=["string","iri","boolean","byte","short","int","long","float","double","decimal","date","time","timestamp","Get suggestion..."],t.currentTabConfig={},t.orientationViewMode=!0,t.currentQuery={},t.$watch((function(){return r.getActiveRepository()}),(function(t,n){t!==n&&e.path("jdbc")}));let d=null;t.goBack=function(){d=a((function(){i.history.back()}),1e3)};const f=t.$on("$locationChangeStart",(function(e){!function(e){t.currentQuery.isPristine||(confirm(c.instant("jdbc.warning.unsaved.changes"))?(window.removeEventListener("beforeunload",p),f(),a.cancel(d)):e.preventDefault())}(e)}));function p(e){t.currentQuery.isPristine||(e.returnValue=!0)}window.addEventListener("beforeunload",p),t.$on("$destroy",(function(t){window.removeEventListener("beforeunload",p),f(),a.cancel(d)}));const g={id:"1",name:"",query:"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# Selects two variables to use as columns\nSELECT ?id ?label {\n ?id rdfs:label ?label\n # The following placeholder must be present in the query\n #!filter\n}",inference:!0,sameAs:!0,isNewConfiguration:!0,isPristine:!0};var h;function v(e,n,r){const i=angular.element(document.getElementById("yasr-inner"));t.queryIsRunning=e,e?(t.queryStartTime=Date.now(),t.countTimeouted=!1,t.progressMessage=n,t.extraMessage=r,i.addClass("hide")):(t.progressMessage="",t.extraMessage="",i.removeClass("hide")),null===t.$$phase&&t.$apply()}function m(){t.tabsData=[t.currentQuery];const e=t.currentQuery;t.currentQuery.query?window.editor.setValue(t.currentQuery.query):window.editor.setValue(" "),a((function(){t.currentTabConfig={},t.currentTabConfig.queryType=e.queryType,t.currentTabConfig.resultsCount=e.resultsCount,t.currentTabConfig.offset=e.offset,t.currentTabConfig.allResultsCount=e.allResultsCount,t.currentTabConfig.page=e.page,t.currentTabConfig.pageSize=e.pageSize,t.currentTabConfig.timeFinished=e.timeFinished,t.currentTabConfig.timeTook=e.timeTook,t.currentTabConfig.sizeDelta=e.sizeDelta,t.$apply()}),0),t.canWriteActiveRepo()||(window.editor.options.readOnly=!0)}function y(){t.tabsData=t.tabs=[g],t.currentQuery=angular.copy(g),k(),window.editor&&(t.setQuery(t.currentQuery.query),m()),t.$watch((function(){return t.currentQuery.query}),(function(e,n){e!==n&&t.setDirty()}))}function b(){l.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(t){angular.isDefined(window.editor)&&angular.isDefined(t)&&t!==window.editor.getValue()&&window.editor.setValue(t)})).error((function(t){const e=getError(t);return n.error(e,c.instant("common.add.known.prefixes.error")),!0}))}function x(){A()&&o.getColumnNames(t.currentQuery.query).success((function(e){o.getColumnsTypeSuggestion(t.currentQuery.query,e).success((function(n){const r=[];_.forEach(e,(function(t){r.push({column_name:t,column_type:n[t].column_type,nullable:!0,sparql_type:n[t].sparql_type})})),t.currentQuery.columns=r,t.setDirty()})).error((function(t){n.error(getError(t),c.instant("jdbc.not.suggest.column.types"))}))})).error((function(t){n.error(getError(t),c.instant("jdbc.not.suggest.column.names"))}))}function k(){2===t.page?t.viewMode="editor":t.viewMode="none"}function w(t,e,n,r,i){let a=n[r].value;a=a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return"<div class = 'literal-cell'>"+("<p class='nonUri' style='border: none; background-color: transparent; padding: 0; margin: 0'>"+a+"</p>")+"</div>"}function C(){return window.editor&&"SELECT"===window.editor.getQueryType()}function M(){return A()&&function(){if(!t.currentQuery.columns||!t.currentQuery.columns.length)return n.error(c.instant("jdbc.warning.one.column.msg"),c.instant("jdbc.invalid.columns")),!1;if(t.containsUnknownColumns())return n.error(c.instant("jdbc.warning.all.column.msg"),c.instant("jdbc.invalid.columns")),!1;return!0}()}function A(){return!!C()||(n.error(c.instant("jdbc.warning.invalid.query"),c.instant("jdbc.invalid.query)")),!1)}t.resetCurrentTabConfig=function(){t.currentTabConfig={pageSize:100,page:1,allResultsCount:0,resultsCount:0,queryType:""}},t.saveTab=function(){},t.setQuery=function(t){window.editor.setValue(t||" ")},t.name?(h=t.name,o.getJdbcConfiguration(h).success((function(t){g.query=t.query,g.name=t.name,g.columns=t.columns,g.isNewConfiguration=!t.name,y()})).error((function(t){const e=getError(t);n.error(e,c.instant("jdbc.not.get.sql.msg2"))}))):y(),t.goToPage=function(e){t.page=e;const n=t.currentQuery.columns;2!==e||n&&0!==n.length||!C()||t.getColumnsSuggestions(),k()},t.save=function(){M()&&(t.currentQuery.name?t.currentQuery.isNewConfiguration?o.createNewJdbcConfiguration(t.currentQuery).success((function(){t.currentQuery.isPristine=!0,t.currentQuery.isNewConfiguration=!1,n.success(c.instant("jdbc.saved.configuration")),t.goBack()})).error((function(t){const e=getError(t);n.error(e,c.instant("jdbc.not.saved.configuration"))})):o.updateJdbcConfiguration(t.currentQuery).success((function(){t.currentQuery.isPristine=!0,t.currentQuery.isNewConfiguration=!1,n.success(c.instant("jdbc.configuration.updated")),t.goBack()})).error((function(t){const e=getError(t);n.error(e,c.instant("jdbc.not.saved.configuration"))})):n.error(c.instant("jdbc.required.configuration.name")))},t.hasPrecision=function(t){return"iri"===t||"string"===t||"decimal"===t},t.containsColumnsWithPrecision=function(e){return e&&e.some(e=>t.hasPrecision(e.column_type))},t.hasScale=function(t){return"decimal"===t},t.containsColumnsWithScale=function(e){return e&&e.some(e=>t.hasScale(e.column_type))},t.isLiteral=function(t){return"iri"!==t&&"unknown"!==t},t.containsNonLiteralColumnsOnly=function(e){return e&&e.every(e=>!t.isLiteral(e.column_type))},t.containsUnknownColumns=function(){return t.currentQuery.columns&&t.currentQuery.columns.find(t=>"unknown"===t.column_type)},$("textarea").on("paste",(function(){a((function(){b()}),0)})),t.selectColumnType=function(e,r){const i=_.find(t.currentQuery.columns,(function(t){return t.column_name===e}));"Get suggestion..."===i.column_type&&o.getColumnsTypeSuggestion(t.currentQuery.query,[e]).success((function(t){i.column_type=t[e].column_type,i.column_type===r?n.info(c.instant("jdbc.same.suggested.sql.type",{type:i.column_type}),c.instant("jdbc.suggest.sql.type"),{allowHtml:!0}):n.success(c.instant("jdbc.suggested.sql.type",{type:i.column_type}),c.instant("jdbc.suggest.sql.type"),{allowHtml:!0}),i.sparql_type=t[e].sparql_type})).error((function(t){n.error(getError(t),c.instant("jdbc.not.suggest.column.type"))})),t.setDirty()},t.getColumnsSuggestions=function(){t.currentQuery.columns&&t.currentQuery.columns.length>0?u.openSimpleModal({title:c.instant("common.warning"),message:c.instant("jdbc.warning.column.type.msg"),warning:!0}).result.then((function(){x()})):x()},t.deleteColumn=function(e,n){u.openSimpleModal({title:c.instant("common.warning"),message:c.instant("jdbc.warning.delete.column.msg",{columnName:e}),warning:!0}).result.then((function(){t.currentQuery.columns.splice(n,1),t.setDirty()}))},t.getPreview=function(){if(M()&&(t.executedQueryTab=t.currentQuery,!t.queryIsRunning)){$.ajaxSetup().headers=$.ajaxSetup().headers||{};const e=r.getActiveRepositoryObject();$.ajaxSetup().headers["X-GraphDB-Repository"]=e?e.id:void 0,$.ajaxSetup().headers["X-GraphDB-Repository-Location"]=e?e.location:void 0,t.currentQuery.outputType="table",t.resetCurrentTabConfig(),v(!0,c.instant("jdbc.preview.first.rows",{name:t.name}),c.instant("common.extra.message"));const i=function(e,r,i){!function(e,r,i){e.results&&e.results.bindings&&e.results.bindings.length?(window.yasr.plugins.table.options.getCellContent=w,t.currentTabConfig.queryType="SELECT",window.yasr.setResponse(r,i,null)):n.info(c.instant("jdbc.table.definition"),c.instant("jdbc.preview.sql"))}(e,i,r),v(!1)},a=function(t){v(!1),n.error(getError(t,0,100),c.instant("jdbc.not.show.preview"))};if(t.canWriteActiveRepo()){const e=JSON.stringify({name:t.currentQuery.name,query:t.currentQuery.query,columns:t.currentQuery.columns||[]});o.getNewSqlTablePreview(e).done(i).fail(a)}else o.getExistingSqlTablePreview(t.currentQuery.name).done(i).fail(a)}},t.setDirty=function(){t.currentQuery.isPristine=!1},t.getTypeLabel=function(t){switch(t){case"iri":return"VARCHAR: IRI";case"string":return"VARCHAR: String";default:return t.indexOf(" ")>0?t:t.toUpperCase()}}}angular.module("graphdb.framework.jdbc.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","toastr"],["graphdb.framework.utils.notifications"]).controller("JdbcListCtrl",r).controller("JdbcCreateCtrl",i),r.$inject=["$scope","$repositories","JdbcRestService","toastr","ModalService","$translate"],i.$inject=["$scope","$location","toastr","$repositories","$window","$timeout","JdbcRestService","RDF4JRepositoriesRestService","SparqlRestService","ModalService","$translate"]},119:function(t,e){angular.module("graphdb.framework.rest.jdbc.service",[]).factory("JdbcRestService",n),n.$inject=["$http","$repositories","$translate"];function n(t,e){return{getJdbcConfigurations:function(){return t.get("rest/sql-views/tables")},getJdbcConfiguration:function(e){return t.get("rest/sql-views/tables/"+e)},createNewJdbcConfiguration:function(t){return n("POST","",t)},updateJdbcConfiguration:function(t){return n("PUT",t.name,t)},deleteJdbcConfiguration:function(e){return t.delete("rest/sql-views/tables/"+e)},getColumnNames:function(e){return t.post("rest/sql-views/columns",e,{headers:{Accept:"application/json","Content-Type":"text/plain"}})},getColumnsTypeSuggestion:function(n,r){if(!Array.isArray(r))throw new Error(e.instant("jdbc.column.names.constraint"));return t({method:"POST",url:"rest/sql-views/types",data:{query:n,column_names:r}})},getExistingSqlTablePreview:function(t,e){return $.ajax({method:"GET",url:"rest/sql-views/preview/"+t,params:{limit:e}})},getNewSqlTablePreview:function(t,e){return $.ajax({method:"POST",url:"rest/sql-views/preview",contentType:"application/json; charset=utf-8",dataType:"json",data:t,params:{limit:e},headers:{Accept:"application/sparql-results+json"}})}};function n(e,n,r){return t({method:e,url:"rest/sql-views/tables/"+n,noCancelOnRouteChange:!0,data:{name:r.name,query:r.query,columns:r.columns||[]}})}}},170:function(t,e,n){"use strict";n.r(e);n(7),n(23),n(82),n(22),n(118),n(119),n(67),n(63),n(83);angular.module("graphdb.framework.jdbc",["toastr","ui.bootstrap","graphdb.framework.jdbc.controllers","graphdb.framework.core.services.repositories","graphdb.framework.core.directives","graphdb.framework.rest.jdbc.service","graphdb.framework.core.directives.queryeditor.controllers","graphdb.framework.core.directives.queryeditor.sparqltab","graphdb.framework.core.directives.queryeditor.queryeditor"])},299:function(t,e){t.exports=function(){throw new Error("define cannot be used indirect")}},300:function(t,e){(function(e){t.exports=e}).call(this,{})},305:function(t,e,n){var r,i;r=[n(304)],void 0===(i=function(){var e;return(e={dev:!1}).tooltip=e.tooltip||{},e.utils=e.utils||{},e.models=e.models||{},e.charts={},e.logs={},e.dom={},"undefined"==typeof d3&&(d3=n(297)),e.dispatch=d3.dispatch("render_start","render_end"),Function.prototype.bind||(Function.prototype.bind=function(t){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var e=Array.prototype.slice.call(arguments,1),n=this,r=function(){},i=function(){return n.apply(this instanceof r&&t?this:t,e.concat(Array.prototype.slice.call(arguments)))};return r.prototype=this.prototype,i.prototype=new r,i}),e.dev&&(e.dispatch.on("render_start",(function(t){e.logs.startTime=+new Date})),e.dispatch.on("render_end",(function(t){e.logs.endTime=+new Date,e.logs.totalTime=e.logs.endTime-e.logs.startTime,e.log("total",e.logs.totalTime)}))),e.log=function(){if(e.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(e.dev&&window.console&&"function"==typeof console.log&&Function.prototype.bind){var t=Function.prototype.bind.call(console.log,console);t.apply(console,arguments)}return arguments[arguments.length-1]},e.deprecated=function(t,e){console&&console.warn&&console.warn("nvd3 warning: `"+t+"` has been deprecated. ",e||"")},e.render=function(t){t=t||1,e.render.active=!0,e.dispatch.render_start();var n=function(){for(var r,i,a=0;a<t&&(i=e.render.queue[a]);a++)r=i.generate(),typeof i.callback==typeof Function&&i.callback(r);e.render.queue.splice(0,a),e.render.queue.length?setTimeout(n):(e.dispatch.render_end(),e.render.active=!1)};setTimeout(n)},e.render.active=!1,e.render.queue=[],e.addGraph=function(t){typeof arguments[0]==typeof Function&&(t={generate:arguments[0],callback:arguments[1]}),e.render.queue.push(t),e.render.active||e.render()},t.exports=e,"undefined"!=typeof window&&(window.nv=e),e.dom.write=function(t){return void 0!==window.fastdom?fastdom.mutate(t):t()},e.dom.read=function(t){return void 0!==window.fastdom?fastdom.measure(t):t()},e.interactiveGuideline=function(){"use strict";var t={left:0,top:0},n=null,r=null,i=d3.scale.linear(),a=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick","elementMouseDown","elementMouseUp"),o=!0,s=null,l=e.models.tooltip(),u=window.ActiveXObject;function c(d){d.each((function(d){var f=d3.select(this),p=n||960,g=r||400,h=f.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([d]);function v(){var e=d3.event.clientX-this.getBoundingClientRect().left,n=d3.event.clientY-this.getBoundingClientRect().top,r=!0,o=!1;if(u&&(e=d3.event.offsetX,n=d3.event.offsetY,"svg"!==d3.event.target.tagName&&(r=!1),d3.event.target.className.baseVal.match("nv-legend")&&(o=!0)),r&&(e-=t.left,n-=t.top),"mouseout"===d3.event.type||e<0||n<0||e>p||n>g||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement||o){if(u&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.className.match(l.nvPointerEventsClass)))return;return a.elementMouseout({mouseX:e,mouseY:n}),c.renderGuideLine(null),void l.hidden(!0)}l.hidden(!1);var s=void 0;if("function"==typeof i.rangeBands){var d=d3.bisect(i.range(),e)-1;if(!(i.range()[d]+i.rangeBand()>=e))return a.elementMouseout({mouseX:e,mouseY:n}),c.renderGuideLine(null),void l.hidden(!0);s=i.domain()[d3.bisect(i.range(),e)-1]}else s=i.invert(e);a.elementMousemove({mouseX:e,mouseY:n,pointXValue:s}),"dblclick"===d3.event.type&&a.elementDblclick({mouseX:e,mouseY:n,pointXValue:s}),"click"===d3.event.type&&a.elementClick({mouseX:e,mouseY:n,pointXValue:s}),"mousedown"===d3.event.type&&a.elementMouseDown({mouseX:e,mouseY:n,pointXValue:s}),"mouseup"===d3.event.type&&a.elementMouseUp({mouseX:e,mouseY:n,pointXValue:s})}h.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer").append("g").attr("class","nv-interactiveGuideLine"),s&&(s.on("touchmove",v).on("mousemove",v,!0).on("mouseout",v,!0).on("mousedown",v,!0).on("mouseup",v,!0).on("dblclick",v).on("click",v),c.guideLine=null,c.renderGuideLine=function(t){o&&(c.guideLine&&c.guideLine.attr("x1")===t||e.dom.write((function(){var n=h.select(".nv-interactiveGuideLine").selectAll("line").data(null!=t?[e.utils.NaNtoZero(t)]:[],String);n.enter().append("line").attr("class","nv-guideline").attr("x1",(function(t){return t})).attr("x2",(function(t){return t})).attr("y1",g).attr("y2",0),n.exit().remove()})))})}))}return l.duration(0).hideDelay(0).hidden(!1),c.dispatch=a,c.tooltip=l,c.margin=function(e){return arguments.length?(t.top=void 0!==e.top?e.top:t.top,t.left=void 0!==e.left?e.left:t.left,c):t},c.width=function(t){return arguments.length?(n=t,c):n},c.height=function(t){return arguments.length?(r=t,c):r},c.xScale=function(t){return arguments.length?(i=t,c):i},c.showGuideLine=function(t){return arguments.length?(o=t,c):o},c.svgContainer=function(t){return arguments.length?(s=t,c):s},c},e.interactiveBisect=function(t,e,n){"use strict";if(!(t instanceof Array))return null;var r;r="function"!=typeof n?function(t){return t.x}:n;var i=d3.bisector((function(t,e){return r(t)-e})).left,a=d3.max([0,i(t,e)-1]),o=r(t[a]);if(void 0===o&&(o=a),o===e)return a;var s=d3.min([a+1,t.length-1]),l=r(t[s]);return void 0===l&&(l=s),Math.abs(l-e)>=Math.abs(o-e)?a:s},e.nearestValueIndex=function(t,e,n){"use strict";var r=1/0,i=null;return t.forEach((function(t,a){var o=Math.abs(e-t);null!=t&&o<=r&&o<n&&(r=o,i=a)})),i},e.models.tooltip=function(){"use strict";var t="nvtooltip-"+Math.floor(1e5*Math.random()),n=null,r="w",i=25,a=0,o=null,s=!0,l=200,u=null,c={left:null,top:null},d=!0,f=100,p=!0,g=function(t,e,n){return t},h=function(t){return t},v=function(t,e){return t},m=function(t,e){if(null===t)return"";var n=d3.select(document.createElement("table"));p&&n.selectAll("thead").data([t]).enter().append("thead").append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(h(t.value));var r=n.selectAll("tbody").data([t]).enter().append("tbody").selectAll("tr").data((function(t){return t.series})).enter().append("tr").classed("highlight",(function(t){return t.highlight}));r.append("td").classed("legend-color-guide",!0).append("div").style("background-color",(function(t){return t.color})),r.append("td").classed("key",!0).classed("total",(function(t){return!!t.total})).html((function(t,e){return v(t.key,e)})),r.append("td").classed("value",!0).html((function(t,e){return g(t.value,e,t)})),r.filter((function(t,e){return void 0!==t.percent})).append("td").classed("percent",!0).html((function(t,e){return"("+d3.format("%")(t.percent)+")"})),r.selectAll("td").each((function(t){if(t.highlight){var e=d3.scale.linear().domain([0,1]).range(["#fff",t.color]);d3.select(this).style("border-bottom-color",e(.6)).style("border-top-color",e(.6))}}));var i=n.node().outerHTML;return void 0!==t.footer&&(i+="<div class='footer'>"+t.footer+"</div>"),i},y=function(){var t={left:null!==d3.event?d3.event.clientX:0,top:null!==d3.event?d3.event.clientY:0};if("none"!=getComputedStyle(document.body).transform){var e=document.body.getBoundingClientRect();t.left-=e.left,t.top-=e.top}return t},b=function(){e.dom.read((function(){var t=y(),e=function(t){var e,n,a,o=u.node().offsetHeight,s=u.node().offsetWidth,l=document.documentElement.clientWidth,c=document.documentElement.clientHeight;switch(r){case"e":e=-s-i,n=-o/2,t.left+e<0&&(e=i),(a=t.top+n)<0&&(n-=a),(a=t.top+n+o)>c&&(n-=a-c);break;case"w":e=i,n=-o/2,t.left+e+s>l&&(e=-s-i),(a=t.top+n)<0&&(n-=a),(a=t.top+n+o)>c&&(n-=a-c);break;case"n":e=-s/2-5,n=i,t.top+n+o>c&&(n=-o-i),(a=t.left+e)<0&&(e-=a),(a=t.left+e+s)>l&&(e-=a-l);break;case"s":e=-s/2,n=-o-i,t.top+n<0&&(n=i),(a=t.left+e)<0&&(e-=a),(a=t.left+e+s)>l&&(e-=a-l);break;case"center":e=-s/2,n=-o/2;break;default:e=0,n=0}return{left:e,top:n}}(t),n=t.left+e.left,a=t.top+e.top;if(s)u.interrupt().transition().delay(l).duration(0).style("opacity",0);else{var o="translate("+c.left+"px, "+c.top+"px)",d="translate("+Math.round(n)+"px, "+Math.round(a)+"px)",p=d3.interpolateString(o,d),g=u.style("opacity")<.1;u.interrupt().transition().duration(g?0:f).styleTween("transform",(function(t){return p}),"important").styleTween("-webkit-transform",(function(t){return p})).style("-ms-transform",d).style("opacity",1)}c.left=n,c.top=a}))};function x(){if(d&&function(t){if(t&&t.series){if(e.utils.isArray(t.series))return!0;if(e.utils.isObject(t.series))return t.series=[t.series],!0}return!1}(n))return e.dom.write((function(){u&&u.node()||((u=d3.select(document.body).select("#"+t).data([1])).enter().append("div").attr("class","nvtooltip "+(o||"xy-tooltip")).attr("id",t).style("top",0).style("left",0).style("opacity",0).style("position","fixed").selectAll("div, table, td, tr").classed("nv-pointer-events-none",!0).classed("nv-pointer-events-none",!0),u.exit().remove());var e=m(n,u.node());e&&(u.node().innerHTML=e),b()})),x}return x.nvPointerEventsClass="nv-pointer-events-none",x.options=e.utils.optionsFunc.bind(x),x._options=Object.create({},{duration:{get:function(){return f},set:function(t){f=t}},gravity:{get:function(){return r},set:function(t){r=t}},distance:{get:function(){return i},set:function(t){i=t}},snapDistance:{get:function(){return a},set:function(t){a=t}},classes:{get:function(){return o},set:function(t){o=t}},enabled:{get:function(){return d},set:function(t){d=t}},hideDelay:{get:function(){return l},set:function(t){l=t}},contentGenerator:{get:function(){return m},set:function(t){m=t}},valueFormatter:{get:function(){return g},set:function(t){g=t}},headerFormatter:{get:function(){return h},set:function(t){h=t}},keyFormatter:{get:function(){return v},set:function(t){v=t}},headerEnabled:{get:function(){return p},set:function(t){p=t}},position:{get:function(){return y},set:function(t){y=t}},chartContainer:{get:function(){return document.body},set:function(t){e.deprecated("chartContainer","feature removed after 1.8.3")}},fixedTop:{get:function(){return null},set:function(t){e.deprecated("fixedTop","feature removed after 1.8.1")}},offset:{get:function(){return{left:0,top:0}},set:function(t){e.deprecated("offset","use chart.tooltip.distance() instead")}},hidden:{get:function(){return s},set:function(t){s!=t&&(s=!!t,x())}},data:{get:function(){return n},set:function(t){t.point&&(t.value=t.point.x,t.series=t.series||{},t.series.value=t.point.y,t.series.color=t.point.color||t.series.color),n=t}},node:{get:function(){return u.node()},set:function(t){}},id:{get:function(){return t},set:function(t){}}}),e.utils.initOptions(x),x},e.utils.windowSize=function(){var t={width:640,height:480};return window.innerWidth&&window.innerHeight?(t.width=window.innerWidth,t.height=window.innerHeight,t):"CSS1Compat"==document.compatMode&&document.documentElement&&document.documentElement.offsetWidth?(t.width=document.documentElement.offsetWidth,t.height=document.documentElement.offsetHeight,t):document.body&&document.body.offsetWidth?(t.width=document.body.offsetWidth,t.height=document.body.offsetHeight,t):t},e.utils.isArray=Array.isArray,e.utils.isObject=function(t){return null!==t&&"object"==typeof t},e.utils.isFunction=function(t){return"function"==typeof t},e.utils.isDate=function(t){return"[object Date]"===toString.call(t)},e.utils.isNumber=function(t){return!isNaN(t)&&"number"==typeof t},e.utils.windowResize=function(t){return window.addEventListener?window.addEventListener("resize",t):e.log("ERROR: Failed to bind to window.resize with: ",t),{callback:t,clear:function(){window.removeEventListener("resize",t)}}},e.utils.getColor=function(t){if(void 0===t)return e.utils.defaultColor();if(e.utils.isArray(t)){var n=d3.scale.ordinal().range(t);return function(t,e){var r=void 0===e?t:e;return t.color||n(r)}}return t},e.utils.defaultColor=function(){return e.utils.getColor(d3.scale.category20().range())},e.utils.customTheme=function(t,n,r){n=n||function(t){return t.key};var i=(r=r||d3.scale.category20().range()).length;return function(a,o){var s=n(a);return e.utils.isFunction(t[s])?t[s]():void 0!==t[s]?t[s]:(i||(i=r.length),r[i-=1])}},e.utils.pjax=function(t,n){var r=function(r){d3.html(r,(function(r){var i=d3.select(n).node();i.parentNode.replaceChild(d3.select(r).select(n).node(),i),e.utils.pjax(t,n)}))};d3.selectAll(t).on("click",(function(){history.pushState(this.href,this.textContent,this.href),r(this.href),d3.event.preventDefault()})),d3.select(window).on("popstate",(function(){d3.event.state&&r(d3.event.state)}))},e.utils.calcApproxTextWidth=function(t){if(e.utils.isFunction(t.style)&&e.utils.isFunction(t.text)){var n=parseInt(t.style("font-size").replace("px",""),10),r=t.text().length;return e.utils.NaNtoZero(r*n*.5)}return 0},e.utils.NaNtoZero=function(t){return!e.utils.isNumber(t)||isNaN(t)||null===t||t===1/0||t===-1/0?0:t},d3.selection.prototype.watchTransition=function(t){var e=[this].concat([].slice.call(arguments,1));return t.transition.apply(t,e)},e.utils.renderWatch=function(t,n){if(!(this instanceof e.utils.renderWatch))return new e.utils.renderWatch(t,n);var r=void 0!==n?n:250,i=[],a=this;this.models=function(t){return(t=[].slice.call(arguments,0)).forEach((function(t){var e;t.__rendered=!1,(e=t).dispatch.on("renderEnd",(function(t){e.__rendered=!0,a.renderEnd("model")})),i.indexOf(t)<0&&i.push(t)})),this},this.reset=function(t){void 0!==t&&(r=t),i=[]},this.transition=function(t,e,n){if(n=(e=arguments.length>1?[].slice.call(arguments,1):[]).length>1?e.pop():void 0!==r?r:250,t.__rendered=!1,i.indexOf(t)<0&&i.push(t),0===n)return t.__rendered=!0,t.delay=function(){return this},t.duration=function(){return this},t;0===t.length||t.every((function(t){return!t.length}))?t.__rendered=!0:t.__rendered=!1;var o=0;return t.transition().duration(n).each((function(){++o})).each("end",(function(n,r){0==--o&&(t.__rendered=!0,a.renderEnd.apply(this,e))}))},this.renderEnd=function(){i.every((function(t){return t.__rendered}))&&(i.forEach((function(t){t.__rendered=!1})),t.renderEnd.apply(this,arguments))}},e.utils.deepExtend=function(t){var n=arguments.length>1?[].slice.call(arguments,1):[];n.forEach((function(n){for(var r in n){var i=e.utils.isArray(t[r]),a=e.utils.isObject(t[r]),o=e.utils.isObject(n[r]);a&&!i&&o?e.utils.deepExtend(t[r],n[r]):t[r]=n[r]}}))},e.utils.state=function(){if(!(this instanceof e.utils.state))return new e.utils.state;var t={},n=function(){},r=function(){return{}},i=null;this.dispatch=d3.dispatch("change","set"),this.dispatch.on("set",(function(t){n(t,!0)})),this.getter=function(t){return r=t,this},this.setter=function(t,e){return e||(e=function(){}),n=function(n,r){t(n),r&&e()},this},this.init=function(t){i=i||{},e.utils.deepExtend(i,t)};var a=function(){var e=r();if(JSON.stringify(e)===JSON.stringify(t))return!1;for(var n in e)void 0===t[n]&&(t[n]={}),t[n]=e[n];return!0};this.update=function(){i&&(n(i,!1),i=null),a.call(this)&&this.dispatch.change(t)}},e.utils.optionsFunc=function(t){return t&&d3.map(t).forEach(function(t,n){e.utils.isFunction(this[t])&&this[t](n)}.bind(this)),this},e.utils.calcTicksX=function(t,n){for(var r=1,i=0;i<n.length;i+=1){var a=n[i]&&n[i].values?n[i].values.length:0;r=a>r?a:r}return e.log("Requested number of ticks: ",t),e.log("Calculated max values to be: ",r),t=(t=t>r?t=r-1:t)<1?1:t,t=Math.floor(t),e.log("Calculating tick count as: ",t),t},e.utils.calcTicksY=function(t,n){return e.utils.calcTicksX(t,n)},e.utils.initOption=function(t,e){t._calls&&t._calls[e]?t[e]=t._calls[e]:(t[e]=function(n){return arguments.length?(t._overrides[e]=!0,t._options[e]=n,t):t._options[e]},t["_"+e]=function(n){return arguments.length?(t._overrides[e]||(t._options[e]=n),t):t._options[e]})},e.utils.initOptions=function(t){t._overrides=t._overrides||{};var n=Object.getOwnPropertyNames(t._options||{}),r=Object.getOwnPropertyNames(t._calls||{});for(var i in n=n.concat(r))e.utils.initOption(t,n[i])},e.utils.inheritOptionsD3=function(t,e,n){t._d3options=n.concat(t._d3options||[]),t._d3options=(t._d3options||[]).filter((function(t,e,n){return n.indexOf(t)===e})),n.unshift(e),n.unshift(t),d3.rebind.apply(this,n)},e.utils.arrayUnique=function(t){return t.sort().filter((function(e,n){return!n||e!=t[n-1]}))},e.utils.symbolMap=d3.map(),e.utils.symbol=function(){var t,n=64;function r(r,i){var a=t.call(this,r,i),o=n.call(this,r,i);return-1!==d3.svg.symbolTypes.indexOf(a)?d3.svg.symbol().type(a).size(o)():e.utils.symbolMap.get(a)(o)}return r.type=function(e){return arguments.length?(t=d3.functor(e),r):t},r.size=function(t){return arguments.length?(n=d3.functor(t),r):n},r},e.utils.inheritOptions=function(t,n){var r=Object.getOwnPropertyNames(n._options||{}),i=Object.getOwnPropertyNames(n._calls||{}),a=n._inherited||[],o=n._d3options||[],s=r.concat(i).concat(a).concat(o);s.unshift(n),s.unshift(t),d3.rebind.apply(this,s),t._inherited=e.utils.arrayUnique(r.concat(i).concat(a).concat(r).concat(t._inherited||[])),t._d3options=e.utils.arrayUnique(o.concat(t._d3options||[]))},e.utils.initSVG=function(t){t.classed({"nvd3-svg":!0})},e.utils.sanitizeHeight=function(t,e){return t||parseInt(e.style("height"),10)||400},e.utils.sanitizeWidth=function(t,e){return t||parseInt(e.style("width"),10)||960},e.utils.availableHeight=function(t,n,r){return Math.max(0,e.utils.sanitizeHeight(t,n)-r.top-r.bottom)},e.utils.availableWidth=function(t,n,r){return Math.max(0,e.utils.sanitizeWidth(t,n)-r.left-r.right)},e.utils.noData=function(t,n){var r=t.options(),i=r.margin(),a=r.noData(),o=null==a?["No Data Available."]:[a],s=e.utils.availableHeight(null,n,i),l=e.utils.availableWidth(null,n,i),u=i.left+l/2,c=i.top+s/2;n.selectAll("g").remove();var d=n.selectAll(".nv-noData").data(o);d.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),d.attr("x",u).attr("y",c).text((function(t){return t}))},e.utils.wrapTicks=function(t,e){t.each((function(){for(var t,n=d3.select(this),r=n.text().split(/\s+/).reverse(),i=[],a=0,o=n.attr("y"),s=parseFloat(n.attr("dy")),l=n.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em");t=r.pop();)i.push(t),l.text(i.join(" ")),l.node().getComputedTextLength()>e&&(i.pop(),l.text(i.join(" ")),i=[t],l=n.append("tspan").attr("x",0).attr("y",o).attr("dy",1.1*++a+s+"em").text(t))}))},e.utils.arrayEquals=function(t,n){if(t===n)return!0;if(!t||!n)return!1;if(t.length!=n.length)return!1;for(var r=0,i=t.length;r<i;r++)if(t[r]instanceof Array&&n[r]instanceof Array){if(!e.arrayEquals(t[r],n[r]))return!1}else if(t[r]!=n[r])return!1;return!0},e.utils.pointIsInArc=function(t,e,n){var r=n.innerRadius()(e),i=n.outerRadius()(e),a=n.startAngle()(e),o=n.endAngle()(e),s=t.x*t.x+t.y*t.y,l=Math.atan2(t.x,-t.y);return l=l<0?l+2*Math.PI:l,r*r<=s&&s<=i*i&&a<=l&&l<=o},e.models.axis=function(){"use strict";var t,n,r=d3.svg.axis(),i=d3.scale.linear(),a={top:0,right:0,bottom:0,left:0},o=75,s=60,l=null,u=!0,c=0,d=!0,f=!1,p=!1,g=null,h=0,v=void 0,m=250,y=d3.dispatch("renderEnd");r.scale(i).orient("bottom").tickFormat((function(t){return t}));var b=e.utils.renderWatch(y,m);function x(s){return b.reset(),s.each((function(s){var m=d3.select(this);e.utils.initSVG(m);var y=m.selectAll("g.nv-wrap.nv-axis").data([s]),x=(y.enter().append("g").attr("class","nvd3 nv-wrap nv-axis").append("g"),y.select("g"));null!==g?r.ticks(g):"top"!=r.orient()&&"bottom"!=r.orient()||r.ticks(Math.abs(i.range()[1]-i.range()[0])/100),x.watchTransition(b,"axis").call(r),n=n||r.scale();var k=r.tickFormat();null==k&&(k=n.tickFormat());var w,C,M,A=x.selectAll("text.nv-axislabel").data([l||null]);switch(A.exit().remove(),void 0!==v&&x.selectAll("g").select("text").style("font-size",v),r.orient()){case"top":A.enter().append("text").attr("class","nv-axislabel"),M=0,1===i.range().length?M=p?2*i.range()[0]+i.rangeBand():0:2===i.range().length?M=p?i.range()[0]+i.range()[1]+i.rangeBand():i.range()[1]:i.range().length>2&&(M=i.range()[i.range().length-1]+(i.range()[1]-i.range()[0])),A.attr("text-anchor","middle").attr("y",0).attr("x",M/2),u&&((C=y.selectAll("g.nv-axisMaxMin").data(i.domain())).enter().append("g").attr("class",(function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-x",0==e?"nv-axisMin-x":"nv-axisMax-x"].join(" ")})).append("text"),C.exit().remove(),C.attr("transform",(function(t,n){return"translate("+e.utils.NaNtoZero(i(t))+",0)"})).select("text").attr("dy","-0.5em").attr("y",-r.tickPadding()).attr("text-anchor","middle").text((function(e,n){var r=(t||k)(e);return(""+r).match("NaN")?"":r})),C.watchTransition(b,"min-max top").attr("transform",(function(t,n){return"translate("+e.utils.NaNtoZero(i.range()[n])+",0)"})));break;case"bottom":w=h+36;var S=30,E=0,D=x.selectAll("g").select("text"),T="";if(c%360){D.attr("transform",""),D.each((function(t,e){var n=this.getBoundingClientRect(),r=n.width;E=n.height,r>S&&(S=r)})),T="rotate("+c+" 0,"+(E/2+r.tickPadding())+")";var F=Math.abs(Math.sin(c*Math.PI/180));w=(F?F*S:S)+30,D.attr("transform",T).style("text-anchor",c%360>0?"start":"end")}else f?D.attr("transform",(function(t,e){return"translate(0,"+(e%2==0?"0":"12")+")"})):D.attr("transform","translate(0,0)");A.enter().append("text").attr("class","nv-axislabel"),M=0,1===i.range().length?M=p?2*i.range()[0]+i.rangeBand():0:2===i.range().length?M=p?i.range()[0]+i.range()[1]+i.rangeBand():i.range()[1]:i.range().length>2&&(M=i.range()[i.range().length-1]+(i.range()[1]-i.range()[0])),A.attr("text-anchor","middle").attr("y",w).attr("x",M/2),u&&((C=y.selectAll("g.nv-axisMaxMin").data([i.domain()[0],i.domain()[i.domain().length-1]])).enter().append("g").attr("class",(function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-x",0==e?"nv-axisMin-x":"nv-axisMax-x"].join(" ")})).append("text"),C.exit().remove(),C.attr("transform",(function(t,n){return"translate("+e.utils.NaNtoZero(i(t)+(p?i.rangeBand()/2:0))+",0)"})).select("text").attr("dy",".71em").attr("y",r.tickPadding()).attr("transform",T).style("text-anchor",c?c%360>0?"start":"end":"middle").text((function(e,n){var r=(t||k)(e);return(""+r).match("NaN")?"":r})),C.watchTransition(b,"min-max bottom").attr("transform",(function(t,n){return"translate("+e.utils.NaNtoZero(i(t)+(p?i.rangeBand()/2:0))+",0)"})));break;case"right":A.enter().append("text").attr("class","nv-axislabel"),A.style("text-anchor",d?"middle":"begin").attr("transform",d?"rotate(90)":"").attr("y",d?12-Math.max(a.right,o)-(h||0):-10).attr("x",d?d3.max(i.range())/2:r.tickPadding()),u&&((C=y.selectAll("g.nv-axisMaxMin").data(i.domain())).enter().append("g").attr("class",(function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-y",0==e?"nv-axisMin-y":"nv-axisMax-y"].join(" ")})).append("text").style("opacity",0),C.exit().remove(),C.attr("transform",(function(t,n){return"translate(0,"+e.utils.NaNtoZero(i(t))+")"})).select("text").attr("dy",".32em").attr("y",0).attr("x",r.tickPadding()).style("text-anchor","start").text((function(e,n){var r=(t||k)(e);return(""+r).match("NaN")?"":r})),C.watchTransition(b,"min-max right").attr("transform",(function(t,n){return"translate(0,"+e.utils.NaNtoZero(i.range()[n])+")"})).select("text").style("opacity",1));break;case"left":A.enter().append("text").attr("class","nv-axislabel"),A.style("text-anchor",d?"middle":"end").attr("transform",d?"rotate(-90)":"").attr("y",d?25-Math.max(a.left,o)-(h||0):-10).attr("x",d?-d3.max(i.range())/2:-r.tickPadding()),u&&((C=y.selectAll("g.nv-axisMaxMin").data(i.domain())).enter().append("g").attr("class",(function(t,e){return["nv-axisMaxMin","nv-axisMaxMin-y",0==e?"nv-axisMin-y":"nv-axisMax-y"].join(" ")})).append("text").style("opacity",0),C.exit().remove(),C.attr("transform",(function(t,r){return"translate(0,"+e.utils.NaNtoZero(n(t))+")"})).select("text").attr("dy",".32em").attr("y",0).attr("x",-r.tickPadding()).attr("text-anchor","end").text((function(e,n){var r=(t||k)(e);return(""+r).match("NaN")?"":r})),C.watchTransition(b,"min-max right").attr("transform",(function(t,n){return"translate(0,"+e.utils.NaNtoZero(i.range()[n])+")"})).select("text").style("opacity",1))}if(A.text((function(t){return t})),!u||"left"!==r.orient()&&"right"!==r.orient()||(x.selectAll("g").each((function(t,e){d3.select(this).select("text").attr("opacity",1),(i(t)<i.range()[1]+10||i(t)>i.range()[0]-10)&&((t>1e-10||t<-1e-10)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0))})),i.domain()[0]==i.domain()[1]&&0==i.domain()[0]&&y.selectAll("g.nv-axisMaxMin").style("opacity",(function(t,e){return e?0:1}))),u&&("top"===r.orient()||"bottom"===r.orient())){var N=[];y.selectAll("g.nv-axisMaxMin").each((function(t,e){try{e?N.push(i(t)-this.getBoundingClientRect().width-4):N.push(i(t)+this.getBoundingClientRect().width+4)}catch(n){e?N.push(i(t)-4):N.push(i(t)+4)}})),x.selectAll("g").each((function(t,e){(i(t)<N[0]||i(t)>N[1])&&(t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove())}))}x.selectAll(".tick").filter((function(t){return!parseFloat(Math.round(1e5*t)/1e6)&&void 0!==t})).classed("zero",!0),n=i.copy()})),b.renderEnd("axis immediate"),x}return x.axis=r,x.dispatch=y,x.options=e.utils.optionsFunc.bind(x),x._options=Object.create({},{axisLabelDistance:{get:function(){return h},set:function(t){h=t}},staggerLabels:{get:function(){return f},set:function(t){f=t}},rotateLabels:{get:function(){return c},set:function(t){c=t}},rotateYLabel:{get:function(){return d},set:function(t){d=t}},showMaxMin:{get:function(){return u},set:function(t){u=t}},axisLabel:{get:function(){return l},set:function(t){l=t}},height:{get:function(){return s},set:function(t){s=t}},ticks:{get:function(){return g},set:function(t){g=t}},width:{get:function(){return o},set:function(t){o=t}},fontSize:{get:function(){return v},set:function(t){v=t}},tickFormatMaxMin:{get:function(){return t},set:function(e){t=e}},margin:{get:function(){return a},set:function(t){a.top=void 0!==t.top?t.top:a.top,a.right=void 0!==t.right?t.right:a.right,a.bottom=void 0!==t.bottom?t.bottom:a.bottom,a.left=void 0!==t.left?t.left:a.left}},duration:{get:function(){return m},set:function(t){m=t,b.reset(m)}},scale:{get:function(){return i},set:function(t){i=t,r.scale(i),p="function"==typeof i.rangeBands,e.utils.inheritOptionsD3(x,i,["domain","range","rangeBand","rangeBands"])}}}),e.utils.initOptions(x),e.utils.inheritOptionsD3(x,r,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]),e.utils.inheritOptionsD3(x,i,["domain","range","rangeBand","rangeBands"]),x},e.models.boxPlot=function(){"use strict";var t,n,r,i,a,o,s={top:0,right:0,bottom:0,left:0},l=960,u=500,c=Math.floor(1e4*Math.random()),d=d3.scale.ordinal(),f=d3.scale.linear(),p=function(t){return t.label},g=function(t){return t.values.Q1},h=function(t){return t.values.Q2},v=function(t){return t.values.Q3},m=function(t){return t.values.whisker_low},y=function(t){return t.values.whisker_high},b=function(t){return t.color},x=function(t){return t.values.outliers},k=function(t,e,n){return t},w=function(t,e,n){return t},C=function(t,e,n){},M=e.utils.defaultColor(),A=null,S=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),E=250,D=null,T=e.utils.renderWatch(S,E);function F(c){return T.reset(),c.each((function(c){var F=l-s.left-s.right,N=u-s.top-s.bottom;A=d3.select(this),e.utils.initSVG(A),d.domain(t||c.map((function(t,e){return p(t,e)}))).rangeBands(n||[0,F],.1);var O=[];if(!r){var _=[];c.forEach((function(t,e){var n=g(t),r=v(t),i=m(t),a=y(t),o=x(t);o&&o.forEach((function(t,e){_.push(k(t,e,void 0))})),i&&_.push(i),n&&_.push(n),r&&_.push(r),a&&_.push(a)})),O=[d3.min(_),d3.max(_)]}f.domain(r||O),f.range(i||[N,0]),a=a||d,o=o||f.copy().range([f(0),f(0)]);var W=A.selectAll("g.nv-wrap").data([c]);W.enter().append("g").attr("class","nvd3 nv-wrap"),W.attr("transform","translate("+s.left+","+s.top+")");var L=W.selectAll(".nv-boxplot").data((function(t){return t})),B=L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);L.attr("class","nv-boxplot").attr("transform",(function(t,e,n){return"translate("+(d(p(t,e))+.05*d.rangeBand())+", 0)"})).classed("hover",(function(t){return t.hover})),L.watchTransition(T,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay((function(t,e){return e*E/c.length})).attr("transform",(function(t,e){return"translate("+(d(p(t,e))+.05*d.rangeBand())+", 0)"})),L.exit().remove(),B.each((function(t,e){var n=d3.select(this);[m,y].forEach((function(r){if(void 0!==r(t)&&null!==r(t)){var i=r===m?"low":"high";n.append("line").style("stroke",b(t)||M(t,e)).attr("class","nv-boxplot-whisker nv-boxplot-"+i),n.append("line").style("stroke",b(t)||M(t,e)).attr("class","nv-boxplot-tick nv-boxplot-"+i)}}))}));var R=function(){return null===D?.9*d.rangeBand():Math.min(75,.9*d.rangeBand())},P=function(){return.45*d.rangeBand()-R()/2},q=function(){return.45*d.rangeBand()+R()/2};[m,y].forEach((function(t){var e=t===m?"low":"high",n=t===m?g:v;L.select("line.nv-boxplot-whisker.nv-boxplot-"+e).watchTransition(T,"nv-boxplot: boxplots").attr("x1",.45*d.rangeBand()).attr("y1",(function(e,n){return f(t(e))})).attr("x2",.45*d.rangeBand()).attr("y2",(function(t,e){return f(n(t))})),L.select("line.nv-boxplot-tick.nv-boxplot-"+e).watchTransition(T,"nv-boxplot: boxplots").attr("x1",P).attr("y1",(function(e,n){return f(t(e))})).attr("x2",q).attr("y2",(function(e,n){return f(t(e))}))})),[m,y].forEach((function(t){var e=t===m?"low":"high";B.selectAll(".nv-boxplot-"+e).on("mouseover",(function(e,n,r){d3.select(this).classed("hover",!0),S.elementMouseover({series:{key:t(e),color:b(e)||M(e,r)},e:d3.event})})).on("mouseout",(function(e,n,r){d3.select(this).classed("hover",!1),S.elementMouseout({series:{key:t(e),color:b(e)||M(e,r)},e:d3.event})})).on("mousemove",(function(t,e){S.elementMousemove({e:d3.event})}))})),B.append("rect").attr("class","nv-boxplot-box").on("mouseover",(function(t,e){d3.select(this).classed("hover",!0),S.elementMouseover({key:p(t),value:p(t),series:[{key:"Q3",value:v(t),color:b(t)||M(t,e)},{key:"Q2",value:h(t),color:b(t)||M(t,e)},{key:"Q1",value:g(t),color:b(t)||M(t,e)}],data:t,index:e,e:d3.event})})).on("mouseout",(function(t,e){d3.select(this).classed("hover",!1),S.elementMouseout({key:p(t),value:p(t),series:[{key:"Q3",value:v(t),color:b(t)||M(t,e)},{key:"Q2",value:h(t),color:b(t)||M(t,e)},{key:"Q1",value:g(t),color:b(t)||M(t,e)}],data:t,index:e,e:d3.event})})).on("mousemove",(function(t,e){S.elementMousemove({e:d3.event})})),L.select("rect.nv-boxplot-box").watchTransition(T,"nv-boxplot: boxes").attr("y",(function(t,e){return f(v(t))})).attr("width",R).attr("x",P).attr("height",(function(t,e){return Math.abs(f(v(t))-f(g(t)))||1})).style("fill",(function(t,e){return b(t)||M(t,e)})).style("stroke",(function(t,e){return b(t)||M(t,e)})),B.append("line").attr("class","nv-boxplot-median"),L.select("line.nv-boxplot-median").watchTransition(T,"nv-boxplot: boxplots line").attr("x1",P).attr("y1",(function(t,e){return f(h(t))})).attr("x2",q).attr("y2",(function(t,e){return f(h(t))}));var I=L.selectAll(".nv-boxplot-outlier").data((function(t){return x(t)||[]}));I.enter().append("circle").style("fill",(function(t,e,n){return C(t,e,n)||M(t,n)})).style("stroke",(function(t,e,n){return C(t,e,n)||M(t,n)})).style("z-index",9e3).on("mouseover",(function(t,e,n){d3.select(this).classed("hover",!0),S.elementMouseover({series:{key:w(t,e,n),color:C(t,e,n)||M(t,n)},e:d3.event})})).on("mouseout",(function(t,e,n){d3.select(this).classed("hover",!1),S.elementMouseout({series:{key:w(t,e,n),color:C(t,e,n)||M(t,n)},e:d3.event})})).on("mousemove",(function(t,e){S.elementMousemove({e:d3.event})})),I.attr("class","nv-boxplot-outlier"),I.watchTransition(T,"nv-boxplot: nv-boxplot-outlier").attr("cx",.45*d.rangeBand()).attr("cy",(function(t,e,n){return f(k(t,e,n))})).attr("r","3"),I.exit().remove(),a=d.copy(),o=f.copy()})),T.renderEnd("nv-boxplot immediate"),F}return F.dispatch=S,F.options=e.utils.optionsFunc.bind(F),F._options=Object.create({},{width:{get:function(){return l},set:function(t){l=t}},height:{get:function(){return u},set:function(t){u=t}},maxBoxWidth:{get:function(){return D},set:function(t){D=t}},x:{get:function(){return p},set:function(t){p=t}},q1:{get:function(){return g},set:function(t){g=t}},q2:{get:function(){return h},set:function(t){h=t}},q3:{get:function(){return v},set:function(t){v=t}},wl:{get:function(){return m},set:function(t){m=t}},wh:{get:function(){return y},set:function(t){y=t}},itemColor:{get:function(){return b},set:function(t){b=t}},outliers:{get:function(){return x},set:function(t){x=t}},outlierValue:{get:function(){return k},set:function(t){k=t}},outlierLabel:{get:function(){return w},set:function(t){w=t}},outlierColor:{get:function(){return C},set:function(t){C=t}},xScale:{get:function(){return d},set:function(t){d=t}},yScale:{get:function(){return f},set:function(t){f=t}},xDomain:{get:function(){return t},set:function(e){t=e}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return n},set:function(t){n=t}},yRange:{get:function(){return i},set:function(t){i=t}},id:{get:function(){return c},set:function(t){c=t}},y:{get:function(){return console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead."),{}},set:function(t){console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead.")}},margin:{get:function(){return s},set:function(t){s.top=void 0!==t.top?t.top:s.top,s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},color:{get:function(){return M},set:function(t){M=e.utils.getColor(t)}},duration:{get:function(){return E},set:function(t){E=t,T.reset(E)}}}),e.utils.initOptions(F),F},e.models.boxPlotChart=function(){"use strict";var t,n,r=e.models.boxPlot(),i=e.models.axis(),a=e.models.axis(),o={top:15,right:10,bottom:50,left:60},s=null,l=null,u=e.utils.getColor(),c=!0,d=!0,f=!1,p=!1,g=e.models.tooltip(),h="No Data Available.",v=d3.dispatch("beforeUpdate","renderEnd"),m=250;i.orient("bottom").showMaxMin(!1).tickFormat((function(t){return t})),a.orient(f?"right":"left").tickFormat(d3.format(",.1f")),g.duration(0);var y=e.utils.renderWatch(v,m);function b(u){return y.reset(),y.models(r),c&&y.models(i),d&&y.models(a),u.each((function(u){var g=d3.select(this);e.utils.initSVG(g);var y=(s||parseInt(g.style("width"))||960)-o.left-o.right,x=(l||parseInt(g.style("height"))||400)-o.top-o.bottom;if(b.update=function(){v.beforeUpdate(),g.transition().duration(m).call(b)},b.container=this,!u||!u.length){var k=g.selectAll(".nv-noData").data([h]);return k.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),k.attr("x",o.left+y/2).attr("y",o.top+x/2).text((function(t){return t})),b}g.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale().clamp(!0);var w=g.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([u]),C=w.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g"),M=C.append("defs"),A=w.select("g");if(C.append("g").attr("class","nv-x nv-axis"),C.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),C.append("g").attr("class","nv-barsWrap"),A.attr("transform","translate("+o.left+","+o.top+")"),f&&A.select(".nv-y.nv-axis").attr("transform","translate("+y+",0)"),r.width(y).height(x),A.select(".nv-barsWrap").datum(u.filter((function(t){return!t.disabled}))).transition().call(r),M.append("clipPath").attr("id","nv-x-label-clip-"+r.id()).append("rect"),A.select("#nv-x-label-clip-"+r.id()+" rect").attr("width",t.rangeBand()*(p?2:1)).attr("height",16).attr("x",-t.rangeBand()/(p?1:2)),c){i.scale(t).ticks(e.utils.calcTicksX(y/100,u)).tickSize(-x,0),A.select(".nv-x.nv-axis").attr("transform","translate(0,"+n.range()[0]+")"),A.select(".nv-x.nv-axis").call(i);var S=A.select(".nv-x.nv-axis").selectAll("g");p&&S.selectAll("text").attr("transform",(function(t,e,n){return"translate(0,"+(n%2==0?"5":"17")+")"}))}d&&(a.scale(n).ticks(Math.floor(x/36)).tickSize(-y,0),A.select(".nv-y.nv-axis").call(a)),A.select(".nv-zeroLine line").attr("x1",0).attr("x2",y).attr("y1",n(0)).attr("y2",n(0))})),y.renderEnd("nv-boxplot chart immediate"),b}return r.dispatch.on("elementMouseover.tooltip",(function(t){g.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){g.data(t).hidden(!0)})),r.dispatch.on("elementMousemove.tooltip",(function(t){g()})),b.dispatch=v,b.boxplot=r,b.xAxis=i,b.yAxis=a,b.tooltip=g,b.options=e.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return s},set:function(t){s=t}},height:{get:function(){return l},set:function(t){l=t}},staggerLabels:{get:function(){return p},set:function(t){p=t}},showXAxis:{get:function(){return c},set:function(t){c=t}},showYAxis:{get:function(){return d},set:function(t){d=t}},tooltipContent:{get:function(){return g},set:function(t){g=t}},noData:{get:function(){return h},set:function(t){h=t}},margin:{get:function(){return o},set:function(t){o.top=void 0!==t.top?t.top:o.top,o.right=void 0!==t.right?t.right:o.right,o.bottom=void 0!==t.bottom?t.bottom:o.bottom,o.left=void 0!==t.left?t.left:o.left}},duration:{get:function(){return m},set:function(t){m=t,y.reset(m),r.duration(m),i.duration(m),a.duration(m)}},color:{get:function(){return u},set:function(t){u=e.utils.getColor(t),r.color(u)}},rightAlignYAxis:{get:function(){return f},set:function(t){f=t,a.orient(t?"right":"left")}}}),e.utils.inheritOptions(b,r),e.utils.initOptions(b),b},e.models.bullet=function(){"use strict";var t={top:0,right:0,bottom:0,left:0},n="left",r=!1,i=function(t){return t.ranges},a=function(t){return t.markers?t.markers:[]},o=function(t){return t.markerLines?t.markerLines:[0]},s=function(t){return t.measures},l=function(t){return t.rangeLabels?t.rangeLabels:[]},u=function(t){return t.markerLabels?t.markerLabels:[]},c=function(t){return t.markerLineLabels?t.markerLineLabels:[]},d=function(t){return t.measureLabels?t.measureLabels:[]},f=[0],p=380,g=30,h=null,v=null,m=e.utils.getColor(["#1f77b4"]),y=d3.dispatch("elementMouseover","elementMouseout","elementMousemove"),b=["Maximum","Mean","Minimum"],x=["Max","Avg","Min"],k=1e3;function w(t,e){var n=t.slice();t.sort((function(t,r){var i=n.indexOf(t),a=n.indexOf(r);return d3.descending(e[i],e[a])}))}function C(n){return n.each((function(n,v){var C=p-t.left-t.right,M=g-t.top-t.bottom;h=d3.select(this),e.utils.initSVG(h);var A=i.call(this,n,v).slice(),S=a.call(this,n,v).slice(),E=o.call(this,n,v).slice(),D=s.call(this,n,v).slice(),T=l.call(this,n,v).slice(),F=u.call(this,n,v).slice(),N=c.call(this,n,v).slice(),O=d.call(this,n,v).slice();w(T,A),w(F,S),w(N,E),w(O,D),A.sort(d3.descending),S.sort(d3.descending),E.sort(d3.descending),D.sort(d3.descending);var _=d3.scale.linear().domain(d3.extent(d3.merge([f,A]))).range(r?[C,0]:[0,C]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(_.range()),this.__chart__=_,d3.min(A),d3.max(A),A[1];for(var W=h.selectAll("g.nv-wrap.nv-bullet").data([n]),L=W.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet").append("g"),B=W.select("g"),R=(v=0,A.length);v<R;v++){var P="nv-range nv-range"+v;v<=2&&(P=P+" nv-range"+x[v]),L.append("rect").attr("class",P)}L.append("rect").attr("class","nv-measure"),W.attr("transform","translate("+t.left+","+t.top+")");var q=function(t){return Math.abs(_(t)-_(0))},I=function(t){return _(t<0?t:0)};for(v=0,R=A.length;v<R;v++){var V=A[v];B.select("rect.nv-range"+v).datum(V).attr("height",M).transition().duration(k).attr("width",q(V)).attr("x",I(V))}B.select("rect.nv-measure").style("fill",m).attr("height",M/3).attr("y",M/3).on("mouseover",(function(){y.elementMouseover({value:D[0],label:O[0]||"Current",color:d3.select(this).style("fill")})})).on("mousemove",(function(){y.elementMousemove({value:D[0],label:O[0]||"Current",color:d3.select(this).style("fill")})})).on("mouseout",(function(){y.elementMouseout({value:D[0],label:O[0]||"Current",color:d3.select(this).style("fill")})})).transition().duration(k).attr("width",D<0?_(0)-_(D[0]):_(D[0])-_(0)).attr("x",I(D));var H=M/6,z=S.map((function(t,e){return{value:t,label:F[e]}}));L.selectAll("path.nv-markerTriangle").data(z).enter().append("path").attr("class","nv-markerTriangle").attr("d","M0,"+H+"L"+H+","+-H+" "+-H+","+-H+"Z").on("mouseover",(function(t){y.elementMouseover({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill"),pos:[_(t.value),M/2]})})).on("mousemove",(function(t){y.elementMousemove({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){y.elementMouseout({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})})),B.selectAll("path.nv-markerTriangle").data(z).transition().duration(k).attr("transform",(function(t){return"translate("+_(t.value)+","+M/2+")"}));var j=E.map((function(t,e){return{value:t,label:N[e]}}));L.selectAll("line.nv-markerLine").data(j).enter().append("line").attr("cursor","").attr("class","nv-markerLine").attr("x1",(function(t){return _(t.value)})).attr("y1","2").attr("x2",(function(t){return _(t.value)})).attr("y2",M-2).on("mouseover",(function(t){y.elementMouseover({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill"),pos:[_(t.value),M/2]})})).on("mousemove",(function(t){y.elementMousemove({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){y.elementMouseout({value:t.value,label:t.label||"Previous",color:d3.select(this).style("fill")})})),B.selectAll("line.nv-markerLine").data(j).transition().duration(k).attr("x1",(function(t){return _(t.value)})).attr("x2",(function(t){return _(t.value)})),W.selectAll(".nv-range").on("mouseover",(function(t,e){var n=T[e]||b[e];y.elementMouseover({value:t,label:n,color:d3.select(this).style("fill")})})).on("mousemove",(function(){y.elementMousemove({value:D[0],label:O[0]||"Previous",color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){var n=T[e]||b[e];y.elementMouseout({value:t,label:n,color:d3.select(this).style("fill")})}))})),C}return C.dispatch=y,C.options=e.utils.optionsFunc.bind(C),C._options=Object.create({},{ranges:{get:function(){return i},set:function(t){i=t}},markers:{get:function(){return a},set:function(t){a=t}},measures:{get:function(){return s},set:function(t){s=t}},forceX:{get:function(){return f},set:function(t){f=t}},width:{get:function(){return p},set:function(t){p=t}},height:{get:function(){return g},set:function(t){g=t}},tickFormat:{get:function(){return v},set:function(t){v=t}},duration:{get:function(){return k},set:function(t){k=t}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},orient:{get:function(){return n},set:function(t){r="right"==(n=t)||"bottom"==n}},color:{get:function(){return m},set:function(t){m=e.utils.getColor(t)}}}),e.utils.initOptions(C),C},e.models.bulletChart=function(){"use strict";var t=e.models.bullet(),n=e.models.tooltip(),r="left",i=!1,a={top:5,right:40,bottom:20,left:120},o=function(t){return t.ranges},s=function(t){return t.markers?t.markers:[]},l=function(t){return t.measures},u=null,c=55,d=null,f=null,p=null,g=d3.dispatch();function h(n){return n.each((function(r,p){var g=d3.select(this);e.utils.initSVG(g);var v=e.utils.availableWidth(u,g,a),m=c-a.top-a.bottom;if(h.update=function(){h(n)},h.container=this,!r||!o.call(this,r,p))return e.utils.noData(h,g),h;g.selectAll(".nv-noData").remove();var y=o.call(this,r,p).slice().sort(d3.descending),b=s.call(this,r,p).slice().sort(d3.descending),x=l.call(this,r,p).slice().sort(d3.descending),k=g.selectAll("g.nv-wrap.nv-bulletChart").data([r]),w=k.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart").append("g"),C=k.select("g");w.append("g").attr("class","nv-bulletWrap"),w.append("g").attr("class","nv-titles"),k.attr("transform","translate("+a.left+","+a.top+")");var M=d3.scale.linear().domain([0,Math.max(y[0],b[0]||0,x[0])]).range(i?[v,0]:[0,v]),A=this.__chart__||d3.scale.linear().domain([0,1/0]).range(M.range());this.__chart__=M;var S=w.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(c-a.top-a.bottom)/2+")");S.append("text").attr("class","nv-title").text((function(t){return t.title})),S.append("text").attr("class","nv-subtitle").attr("dy","1em").text((function(t){return t.subtitle})),t.width(v).height(m);var E=C.select(".nv-bulletWrap");d3.transition(E).call(t);var D=d||M.tickFormat(v/100),T=C.selectAll("g.nv-tick").data(M.ticks(f||v/50),(function(t){return this.textContent||D(t)})),F=T.enter().append("g").attr("class","nv-tick").attr("transform",(function(t){return"translate("+A(t)+",0)"})).style("opacity",1e-6);F.append("line").attr("y1",m).attr("y2",7*m/6),F.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",7*m/6).text(D);var N=d3.transition(T).transition().duration(t.duration()).attr("transform",(function(t){return"translate("+M(t)+",0)"})).style("opacity",1);N.select("line").attr("y1",m).attr("y2",7*m/6),N.select("text").attr("y",7*m/6),d3.transition(T.exit()).transition().duration(t.duration()).attr("transform",(function(t){return"translate("+M(t)+",0)"})).style("opacity",1e-6).remove()})),d3.timer.flush(),h}return n.duration(0).headerEnabled(!1),t.dispatch.on("elementMouseover.tooltip",(function(t){t.series={key:t.label,value:t.value,color:t.color},n.data(t).hidden(!1)})),t.dispatch.on("elementMouseout.tooltip",(function(t){n.hidden(!0)})),t.dispatch.on("elementMousemove.tooltip",(function(t){n()})),h.bullet=t,h.dispatch=g,h.tooltip=n,h.options=e.utils.optionsFunc.bind(h),h._options=Object.create({},{ranges:{get:function(){return o},set:function(t){o=t}},markers:{get:function(){return s},set:function(t){s=t}},measures:{get:function(){return l},set:function(t){l=t}},width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return c},set:function(t){c=t}},tickFormat:{get:function(){return d},set:function(t){d=t}},ticks:{get:function(){return f},set:function(t){f=t}},noData:{get:function(){return p},set:function(t){p=t}},margin:{get:function(){return a},set:function(t){a.top=void 0!==t.top?t.top:a.top,a.right=void 0!==t.right?t.right:a.right,a.bottom=void 0!==t.bottom?t.bottom:a.bottom,a.left=void 0!==t.left?t.left:a.left}},orient:{get:function(){return r},set:function(t){i="right"==(r=t)||"bottom"==r}}}),e.utils.inheritOptions(h,t),e.utils.initOptions(h),h},e.models.candlestickBar=function(){"use strict";var t,n,r,i,a,o={top:0,right:0,bottom:0,left:0},s=null,l=null,u=Math.floor(1e4*Math.random()),c=d3.scale.linear(),d=d3.scale.linear(),f=function(t){return t.x},p=function(t){return t.y},g=function(t){return t.open},h=function(t){return t.close},v=function(t){return t.high},m=function(t){return t.low},y=[],b=[],x=!1,k=!0,w=e.utils.defaultColor(),C=!1,M=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");function A(w){return w.each((function(w){t=d3.select(this);var C=e.utils.availableWidth(s,t,o),A=e.utils.availableHeight(l,t,o);e.utils.initSVG(t);var S=C/w[0].values.length*.45;c.domain(n||d3.extent(w[0].values.map(f).concat(y))),x?c.range(i||[.5*C/w[0].values.length,C*(w[0].values.length-.5)/w[0].values.length]):c.range(i||[5+S/2,C-S/2-5]),d.domain(r||[d3.min(w[0].values.map(m).concat(b)),d3.max(w[0].values.map(v).concat(b))]).range(a||[A,0]),c.domain()[0]===c.domain()[1]&&(c.domain()[0]?c.domain([c.domain()[0]-.01*c.domain()[0],c.domain()[1]+.01*c.domain()[1]]):c.domain([-1,1])),d.domain()[0]===d.domain()[1]&&(d.domain()[0]?d.domain([d.domain()[0]+.01*d.domain()[0],d.domain()[1]-.01*d.domain()[1]]):d.domain([-1,1]));var E=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([w[0].values]),D=E.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar"),T=D.append("defs"),F=D.append("g"),N=E.select("g");F.append("g").attr("class","nv-ticks"),E.attr("transform","translate("+o.left+","+o.top+")"),t.on("click",(function(t,e){M.chartClick({data:t,index:e,pos:d3.event,id:u})})),T.append("clipPath").attr("id","nv-chart-clip-path-"+u).append("rect"),E.select("#nv-chart-clip-path-"+u+" rect").attr("width",C).attr("height",A),N.attr("clip-path",k?"url(#nv-chart-clip-path-"+u+")":"");var O=E.select(".nv-ticks").selectAll(".nv-tick").data((function(t){return t}));O.exit().remove();var _=O.enter().append("g");O.attr("class",(function(t,e,n){return(g(t,e)>h(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e})),_.append("line").attr("class","nv-candlestick-lines").attr("transform",(function(t,e){return"translate("+c(f(t,e))+",0)"})).attr("x1",0).attr("y1",(function(t,e){return d(v(t,e))})).attr("x2",0).attr("y2",(function(t,e){return d(m(t,e))})),_.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",(function(t,e){return"translate("+(c(f(t,e))-S/2)+","+(d(p(t,e))-(g(t,e)>h(t,e)?d(h(t,e))-d(g(t,e)):0))+")"})).attr("x",0).attr("y",0).attr("width",S).attr("height",(function(t,e){var n=g(t,e),r=h(t,e);return n>r?d(r)-d(n):d(n)-d(r)})),O.select(".nv-candlestick-lines").transition().attr("transform",(function(t,e){return"translate("+c(f(t,e))+",0)"})).attr("x1",0).attr("y1",(function(t,e){return d(v(t,e))})).attr("x2",0).attr("y2",(function(t,e){return d(m(t,e))})),O.select(".nv-candlestick-rects").transition().attr("transform",(function(t,e){return"translate("+(c(f(t,e))-S/2)+","+(d(p(t,e))-(g(t,e)>h(t,e)?d(h(t,e))-d(g(t,e)):0))+")"})).attr("x",0).attr("y",0).attr("width",S).attr("height",(function(t,e){var n=g(t,e),r=h(t,e);return n>r?d(r)-d(n):d(n)-d(r)}))})),A}return A.highlightPoint=function(e,n){A.clearHighlights(),t.select(".nv-candlestickBar .nv-tick-0-"+e).classed("hover",n)},A.clearHighlights=function(){t.select(".nv-candlestickBar .nv-tick.hover").classed("hover",!1)},A.dispatch=M,A.options=e.utils.optionsFunc.bind(A),A._options=Object.create({},{width:{get:function(){return s},set:function(t){s=t}},height:{get:function(){return l},set:function(t){l=t}},xScale:{get:function(){return c},set:function(t){c=t}},yScale:{get:function(){return d},set:function(t){d=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return i},set:function(t){i=t}},yRange:{get:function(){return a},set:function(t){a=t}},forceX:{get:function(){return y},set:function(t){y=t}},forceY:{get:function(){return b},set:function(t){b=t}},padData:{get:function(){return x},set:function(t){x=t}},clipEdge:{get:function(){return k},set:function(t){k=t}},id:{get:function(){return u},set:function(t){u=t}},interactive:{get:function(){return C},set:function(t){C=t}},x:{get:function(){return f},set:function(t){f=t}},y:{get:function(){return p},set:function(t){p=t}},open:{get:function(){return g()},set:function(t){g=t}},close:{get:function(){return h()},set:function(t){h=t}},high:{get:function(){return v},set:function(t){v=t}},low:{get:function(){return m},set:function(t){m=t}},margin:{get:function(){return o},set:function(t){o.top=null!=t.top?t.top:o.top,o.right=null!=t.right?t.right:o.right,o.bottom=null!=t.bottom?t.bottom:o.bottom,o.left=null!=t.left?t.left:o.left}},color:{get:function(){return w},set:function(t){w=e.utils.getColor(t)}}}),e.utils.initOptions(A),A},e.models.cumulativeLineChart=function(){"use strict";var t,n,r=e.models.line(),i=e.models.axis(),a=e.models.axis(),o=e.models.legend(),s=e.models.legend(),l=e.interactiveGuideline(),u=e.models.tooltip(),c={top:30,right:30,bottom:50,left:60},d=null,f=e.utils.defaultColor(),p=null,g=null,h=!0,v=!0,m=!0,y=!1,b=!0,x=!1,k=!0,w=r.id(),C=e.utils.state(),M=null,A=null,S=function(t){return t.average},E=d3.dispatch("stateChange","changeState","renderEnd"),D=250,T=!1;C.index=0,C.rescaleY=k,i.orient("bottom").tickPadding(7),a.orient(y?"right":"left"),u.valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),s.updateState(!1);var F,N=d3.scale.linear(),O={i:0,x:0},_=e.utils.renderWatch(E,D);function W(u){return _.reset(),_.models(r),v&&_.models(i),m&&_.models(a),u.each((function(u){var A=d3.select(this);e.utils.initSVG(A),A.classed("nv-chart-"+w,!0);var _,R=e.utils.availableWidth(p,A,c),P=e.utils.availableHeight(g,A,c);if(W.update=function(){0===D?A.call(W):A.transition().duration(D).call(W)},W.container=this,C.setter(function(t){return function(e){void 0!==e.index&&(O.i=e.index),void 0!==e.rescaleY&&(k=e.rescaleY),void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(u),W.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled})),index:O.i,rescaleY:k}}}(u)).update(),C.disabled=u.map((function(t){return!!t.disabled})),!M)for(_ in M={},C)C[_]instanceof Array?M[_]=C[_].slice(0):M[_]=C[_];var q=d3.behavior.drag().on("dragstart",(function(t,e){d3.select(W.container).style("cursor","ew-resize")})).on("drag",(function(t,e){O.x=d3.event.x,O.i=Math.round(N.invert(O.x)),Z()})).on("dragend",(function(t,e){d3.select(W.container).style("cursor","auto"),C.index=O.i,E.stateChange(C)}));if(!(u&&u.length&&u.filter((function(t){return t.values.length})).length))return e.utils.noData(W,A),W;A.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale(),N.domain([0,u[0].values.length-1]).range([0,R]).clamp(!0),u=function(t,e){return L||(L=r.y()),e.map((function(e,n){if(!e.values)return e;var r=e.values[t];if(null==r)return e;var i=L(r,t);return Math.abs(i)<1e-5&&!T?(e.tempDisabled=!0,e):(e.tempDisabled=!1,e.values=e.values.map((function(t,e){return t.display={y:(L(t,e)-i)/i},t})),e)}))}(O.i,u),void 0===F&&(F=B(u)),k?r.yDomain(null):(r.yDomain(F),r.clipEdge(!0));var I=x?"none":"all",V=A.selectAll("g.nv-wrap.nv-cumulativeLine").data([u]),H=V.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),z=V.select("g");if(H.append("g").attr("class","nv-interactive"),H.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),H.append("g").attr("class","nv-y nv-axis"),H.append("g").attr("class","nv-background"),H.append("g").attr("class","nv-linesWrap").style("pointer-events",I),H.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),H.append("g").attr("class","nv-legendWrap"),H.append("g").attr("class","nv-controlsWrap"),h?(o.width(R),z.select(".nv-legendWrap").datum(u).call(o),d||o.height()===c.top||(c.top=o.height(),P=e.utils.availableHeight(g,A,c)),z.select(".nv-legendWrap").attr("transform","translate(0,"+-c.top+")")):z.select(".nv-legendWrap").selectAll("*").remove(),b){var j=[{key:"Re-scale y-axis",disabled:!k}];s.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),z.select(".nv-controlsWrap").datum(j).attr("transform","translate(0,"+-c.top+")").call(s)}else z.select(".nv-controlsWrap").selectAll("*").remove();V.attr("transform","translate("+c.left+","+c.top+")"),y&&z.select(".nv-y.nv-axis").attr("transform","translate("+R+",0)");var Q=u.filter((function(t){return t.tempDisabled}));V.select(".tempDisabled").remove(),Q.length&&V.append("text").attr("class","tempDisabled").attr("x",R/2).attr("y","-.71em").style("text-anchor","end").text(Q.map((function(t){return t.key})).join(", ")+" values cannot be calculated for this time period."),x&&(l.width(R).height(P).margin({left:c.left,top:c.top}).svgContainer(A).xScale(t),V.select(".nv-interactive").call(l)),H.select(".nv-background").append("rect"),z.select(".nv-background rect").attr("width",R).attr("height",P),r.y((function(t){return t.display.y})).width(R).height(P).color(u.map((function(t,e){return t.color||f(t,e)})).filter((function(t,e){return!u[e].disabled&&!u[e].tempDisabled})));var $=z.select(".nv-linesWrap").datum(u.filter((function(t){return!t.disabled&&!t.tempDisabled})));$.call(r),u.forEach((function(t,e){t.seriesIndex=e}));var G=u.filter((function(t){return!t.disabled&&!!S(t)})),Y=z.select(".nv-avgLinesWrap").selectAll("line").data(G,(function(t){return t.key})),X=function(t){var e=n(S(t));return e<0?0:e>P?P:e};Y.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",(function(t,e){return r.color()(t,t.seriesIndex)})).attr("x1",0).attr("x2",R).attr("y1",X).attr("y2",X),Y.style("stroke-opacity",(function(t){var e=n(S(t));return e<0||e>P?0:1})).attr("x1",0).attr("x2",R).attr("y1",X).attr("y2",X),Y.exit().remove();var U=$.selectAll(".nv-indexLine").data([O]);function Z(){U.data([O]);var t=W.duration();W.duration(0),W.update(),W.duration(t)}U.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(q),U.attr("transform",(function(t){return"translate("+N(t.i)+",0)"})).attr("height",P),v&&(i.scale(t)._ticks(e.utils.calcTicksX(R/70,u)).tickSize(-P,0),z.select(".nv-x.nv-axis").attr("transform","translate(0,"+n.range()[0]+")"),z.select(".nv-x.nv-axis").call(i)),m&&(a.scale(n)._ticks(e.utils.calcTicksY(P/36,u)).tickSize(-R,0),z.select(".nv-y.nv-axis").call(a)),z.select(".nv-background rect").on("click",(function(){O.x=d3.mouse(this)[0],O.i=Math.round(N.invert(O.x)),C.index=O.i,E.stateChange(C),Z()})),r.dispatch.on("elementClick",(function(t){O.i=t.pointIndex,O.x=N(O.i),C.index=O.i,E.stateChange(C),Z()})),s.dispatch.on("legendClick",(function(t,e){t.disabled=!t.disabled,k=!t.disabled,C.rescaleY=k,k||(F=B(u)),E.stateChange(C),W.update()})),o.dispatch.on("stateChange",(function(t){for(var e in t)C[e]=t[e];E.stateChange(C),W.update()})),l.dispatch.on("elementMousemove",(function(t){r.clearHighlights();var n,o,s,c=[];if(u.filter((function(t,e){return t.seriesIndex=e,!(t.disabled||t.tempDisabled)})).forEach((function(i,a){o=e.interactiveBisect(i.values,t.pointXValue,W.x()),r.highlightPoint(a,o,!0);var l=i.values[o];void 0!==l&&(void 0===n&&(n=l),void 0===s&&(s=W.xScale()(W.x()(l,o))),c.push({key:i.key,value:W.y()(l,o),color:f(i,i.seriesIndex)}))})),c.length>2){var d=W.yScale().invert(t.mouseY),p=.03*Math.abs(W.yScale().domain()[0]-W.yScale().domain()[1]),g=e.nearestValueIndex(c.map((function(t){return t.value})),d,p);null!==g&&(c[g].highlight=!0)}var h=i.tickFormat()(W.x()(n,o),o);l.tooltip.valueFormatter((function(t,e){return a.tickFormat()(t)})).data({value:h,series:c})(),l.renderGuideLine(s)})),l.dispatch.on("elementMouseout",(function(t){r.clearHighlights()})),E.on("changeState",(function(t){void 0!==t.disabled&&(u.forEach((function(e,n){e.disabled=t.disabled[n]})),C.disabled=t.disabled),void 0!==t.index&&(O.i=t.index,O.x=N(O.i),C.index=t.index,U.data([O])),void 0!==t.rescaleY&&(k=t.rescaleY),W.update()}))})),_.renderEnd("cumulativeLineChart immediate"),W}r.dispatch.on("elementMouseover.tooltip",(function(t){var e={x:W.x()(t.point),y:W.y()(t.point),color:t.point.color};t.point=e,u.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){u.hidden(!0)}));var L=null;function B(t){var e=t.filter((function(t){return!(t.disabled||t.tempDisabled)})).map((function(t,e){return d3.extent(t.values,(function(t){return t.display.y}))}));return[d3.min(e,(function(t){return t[0]})),d3.max(e,(function(t){return t[1]}))]}return W.dispatch=E,W.lines=r,W.legend=o,W.controls=s,W.xAxis=i,W.yAxis=a,W.interactiveLayer=l,W.state=C,W.tooltip=u,W.options=e.utils.optionsFunc.bind(W),W._options=Object.create({},{width:{get:function(){return p},set:function(t){p=t}},height:{get:function(){return g},set:function(t){g=t}},showControls:{get:function(){return b},set:function(t){b=t}},showLegend:{get:function(){return h},set:function(t){h=t}},average:{get:function(){return S},set:function(t){S=t}},defaultState:{get:function(){return M},set:function(t){M=t}},noData:{get:function(){return A},set:function(t){A=t}},showXAxis:{get:function(){return v},set:function(t){v=t}},showYAxis:{get:function(){return m},set:function(t){m=t}},noErrorCheck:{get:function(){return T},set:function(t){T=t}},rescaleY:{get:function(){return k},set:function(t){k=t,W.state.rescaleY=t}},margin:{get:function(){return c},set:function(t){void 0!==t.top&&(c.top=t.top,d=t.top),c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t),o.color(f)}},useInteractiveGuideline:{get:function(){return x},set:function(t){x=t,!0===t&&(W.interactive(!1),W.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return y},set:function(t){y=t,a.orient(t?"right":"left")}},duration:{get:function(){return D},set:function(t){D=t,r.duration(D),i.duration(D),a.duration(D),_.reset(D)}}}),e.utils.inheritOptions(W,r),e.utils.initOptions(W),W},e.models.discreteBar=function(){"use strict";var t,n,r,i,a,o,s,l={top:0,right:0,bottom:0,left:0},u=960,c=500,d=Math.floor(1e4*Math.random()),f=d3.scale.ordinal(),p=d3.scale.linear(),g=function(t){return t.x},h=function(t){return t.y},v=[0],m=e.utils.defaultColor(),y=!1,b=d3.format(",.2f"),x=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),k="discreteBar",w=250,C=e.utils.renderWatch(x,w);function M(d){return C.reset(),d.each((function(d){var w=u-l.left-l.right,M=c-l.top-l.bottom;t=d3.select(this),e.utils.initSVG(t),d.forEach((function(t,e){t.values.forEach((function(t){t.series=e}))}));var A=n&&r?[]:d.map((function(t){return t.values.map((function(t,e){return{x:g(t,e),y:h(t,e),y0:t.y0}}))}));f.domain(n||d3.merge(A).map((function(t){return t.x}))).rangeBands(i||[0,w],.1),p.domain(r||d3.extent(d3.merge(A).map((function(t){return t.y})).concat(v))),y?p.range(a||[M-(p.domain()[0]<0?12:0),p.domain()[1]>0?12:0]):p.range(a||[M,0]),o=o||f,s=s||p.copy().range([p(0),p(0)]);var S=t.selectAll("g.nv-wrap.nv-discretebar").data([d]),E=S.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar").append("g");S.select("g"),E.append("g").attr("class","nv-groups"),S.attr("transform","translate("+l.left+","+l.top+")");var D=S.select(".nv-groups").selectAll(".nv-group").data((function(t){return t}),(function(t){return t.key}));D.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),D.exit().watchTransition(C,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),D.attr("class",(function(t,e){return"nv-group nv-series-"+e})).classed("hover",(function(t){return t.hover})),D.watchTransition(C,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var T=D.selectAll("g.nv-bar").data((function(t){return t.values}));T.exit().remove();var F=T.enter().append("g").attr("transform",(function(t,e,n){return"translate("+(f(g(t,e))+.05*f.rangeBand())+", "+p(0)+")"})).on("mouseover",(function(t,e){d3.select(this).classed("hover",!0),x.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){d3.select(this).classed("hover",!1),x.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})})).on("mousemove",(function(t,e){x.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})})).on("click",(function(t,e){x.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:this}),d3.event.stopPropagation()})).on("dblclick",(function(t,e){x.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}));F.append("rect").attr("height",0).attr("width",.9*f.rangeBand()/d.length),y?(F.append("text").attr("text-anchor","middle"),T.select("text").text((function(t,e){return b(h(t,e))})).watchTransition(C,"discreteBar: bars text").attr("x",.9*f.rangeBand()/2).attr("y",(function(t,e){return h(t,e)<0?p(h(t,e))-p(0)+12:-4}))):T.selectAll("text").remove(),T.attr("class",(function(t,e){return h(t,e)<0?"nv-bar negative":"nv-bar positive"})).style("fill",(function(t,e){return t.color||m(t,e)})).style("stroke",(function(t,e){return t.color||m(t,e)})).select("rect").attr("class",k).watchTransition(C,"discreteBar: bars rect").attr("width",.9*f.rangeBand()/d.length),T.watchTransition(C,"discreteBar: bars").attr("transform",(function(t,e){return"translate("+(f(g(t,e))+.05*f.rangeBand())+", "+(h(t,e)<0?p(0):p(0)-p(h(t,e))<1?p(0)-1:p(h(t,e)))+")"})).select("rect").attr("height",(function(t,e){return Math.max(Math.abs(p(h(t,e))-p(0)),1)})),o=f.copy(),s=p.copy()})),C.renderEnd("discreteBar immediate"),M}return M.dispatch=x,M.options=e.utils.optionsFunc.bind(M),M._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return c},set:function(t){c=t}},forceY:{get:function(){return v},set:function(t){v=t}},showValues:{get:function(){return y},set:function(t){y=t}},x:{get:function(){return g},set:function(t){g=t}},y:{get:function(){return h},set:function(t){h=t}},xScale:{get:function(){return f},set:function(t){f=t}},yScale:{get:function(){return p},set:function(t){p=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return i},set:function(t){i=t}},yRange:{get:function(){return a},set:function(t){a=t}},valueFormat:{get:function(){return b},set:function(t){b=t}},id:{get:function(){return d},set:function(t){d=t}},rectClass:{get:function(){return k},set:function(t){k=t}},margin:{get:function(){return l},set:function(t){l.top=void 0!==t.top?t.top:l.top,l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},color:{get:function(){return m},set:function(t){m=e.utils.getColor(t)}},duration:{get:function(){return w},set:function(t){w=t,C.reset(w)}}}),e.utils.initOptions(M),M},e.models.discreteBarChart=function(){"use strict";var t,n,r=e.models.discreteBar(),i=e.models.axis(),a=e.models.axis(),o=e.models.legend(),s=e.models.tooltip(),l={top:15,right:10,bottom:50,left:60},u=null,c=null,d=null,f=e.utils.getColor(),p=!1,g=!0,h=!0,v=!1,m=!1,y=!1,b=0,x=null,k=d3.dispatch("beforeUpdate","renderEnd"),w=250;i.orient("bottom").showMaxMin(!1).tickFormat((function(t){return t})),a.orient(v?"right":"left").tickFormat(d3.format(",.1f")),s.duration(0).headerEnabled(!1).valueFormatter((function(t,e){return a.tickFormat()(t,e)})).keyFormatter((function(t,e){return i.tickFormat()(t,e)}));var C=e.utils.renderWatch(k,w);function M(s){return C.reset(),C.models(r),g&&C.models(i),h&&C.models(a),s.each((function(s){var f=d3.select(this);e.utils.initSVG(f);var x=e.utils.availableWidth(c,f,l),C=e.utils.availableHeight(d,f,l);if(M.update=function(){k.beforeUpdate(),f.transition().duration(w).call(M)},M.container=this,!(s&&s.length&&s.filter((function(t){return t.values.length})).length))return e.utils.noData(M,f),M;f.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale().clamp(!0);var A=f.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([s]),S=A.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),E=S.append("defs"),D=A.select("g");if(S.append("g").attr("class","nv-x nv-axis"),S.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),S.append("g").attr("class","nv-barsWrap"),S.append("g").attr("class","nv-legendWrap"),D.attr("transform","translate("+l.left+","+l.top+")"),p?(o.width(x),D.select(".nv-legendWrap").datum(s).call(o),u||o.height()===l.top||(l.top=o.height(),C=e.utils.availableHeight(d,f,l)),A.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")):D.select(".nv-legendWrap").selectAll("*").remove(),v&&D.select(".nv-y.nv-axis").attr("transform","translate("+x+",0)"),r.width(x).height(C),D.select(".nv-barsWrap").datum(s.filter((function(t){return!t.disabled}))).transition().call(r),E.append("clipPath").attr("id","nv-x-label-clip-"+r.id()).append("rect"),D.select("#nv-x-label-clip-"+r.id()+" rect").attr("width",t.rangeBand()*(m?2:1)).attr("height",16).attr("x",-t.rangeBand()/(m?1:2)),g){i.scale(t)._ticks(e.utils.calcTicksX(x/100,s)).tickSize(-C,0),D.select(".nv-x.nv-axis").attr("transform","translate(0,"+(n.range()[0]+(r.showValues()&&n.domain()[0]<0?16:0))+")"),D.select(".nv-x.nv-axis").call(i);var T=D.select(".nv-x.nv-axis").selectAll("g");m&&T.selectAll("text").attr("transform",(function(t,e,n){return"translate(0,"+(n%2==0?"5":"17")+")"})),b&&T.selectAll(".tick text").attr("transform","rotate("+b+" 0,0)").style("text-anchor",b>0?"start":"end"),y&&D.selectAll(".tick text").call(e.utils.wrapTicks,M.xAxis.rangeBand())}h&&(a.scale(n)._ticks(e.utils.calcTicksY(C/36,s)).tickSize(-x,0),D.select(".nv-y.nv-axis").call(a)),D.select(".nv-zeroLine line").attr("x1",0).attr("x2",v?-x:x).attr("y1",n(0)).attr("y2",n(0))})),C.renderEnd("discreteBar chart immediate"),M}return r.dispatch.on("elementMouseover.tooltip",(function(t){t.series={key:M.x()(t.data),value:M.y()(t.data),color:t.color},s.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){s.hidden(!0)})),r.dispatch.on("elementMousemove.tooltip",(function(t){s()})),M.dispatch=k,M.discretebar=r,M.legend=o,M.xAxis=i,M.yAxis=a,M.tooltip=s,M.options=e.utils.optionsFunc.bind(M),M._options=Object.create({},{width:{get:function(){return c},set:function(t){c=t}},height:{get:function(){return d},set:function(t){d=t}},showLegend:{get:function(){return p},set:function(t){p=t}},staggerLabels:{get:function(){return m},set:function(t){m=t}},rotateLabels:{get:function(){return b},set:function(t){b=t}},wrapLabels:{get:function(){return y},set:function(t){y=!!t}},showXAxis:{get:function(){return g},set:function(t){g=t}},showYAxis:{get:function(){return h},set:function(t){h=t}},noData:{get:function(){return x},set:function(t){x=t}},margin:{get:function(){return l},set:function(t){void 0!==t.top&&(l.top=t.top,u=t.top),l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},duration:{get:function(){return w},set:function(t){w=t,C.reset(w),r.duration(w),i.duration(w),a.duration(w)}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t),r.color(f),o.color(f)}},rightAlignYAxis:{get:function(){return v},set:function(t){v=t,a.orient(t?"right":"left")}}}),e.utils.inheritOptions(M,r),e.utils.initOptions(M),M},e.models.distribution=function(){"use strict";var t,n={top:0,right:0,bottom:0,left:0},r=400,i=8,a="x",o=function(t){return t[a]},s=e.utils.defaultColor(),l=d3.scale.linear(),u=250,c=d3.dispatch("renderEnd"),d=e.utils.renderWatch(c,u);function f(r){return d.reset(),r.each((function(r){"x"===a?(n.left,n.right):(n.top,n.bottom);var u="x"==a?"y":"x",c=d3.select(this);e.utils.initSVG(c),t=t||l;var f=c.selectAll("g.nv-distribution").data([r]),p=(f.enter().append("g").attr("class","nvd3 nv-distribution").append("g"),f.select("g"));f.attr("transform","translate("+n.left+","+n.top+")");var g=p.selectAll("g.nv-dist").data((function(t){return t}),(function(t){return t.key}));g.enter().append("g"),g.attr("class",(function(t,e){return"nv-dist nv-series-"+e})).style("stroke",(function(t,e){return s(t,e)}));var h=g.selectAll("line.nv-dist"+a).data((function(t){return t.values}));h.enter().append("line").attr(a+"1",(function(e,n){return t(o(e,n))})).attr(a+"2",(function(e,n){return t(o(e,n))})),d.transition(g.exit().selectAll("line.nv-dist"+a),"dist exit").attr(a+"1",(function(t,e){return l(o(t,e))})).attr(a+"2",(function(t,e){return l(o(t,e))})).style("stroke-opacity",0).remove(),h.attr("class",(function(t,e){return"nv-dist"+a+" nv-dist"+a+"-"+e})).attr(u+"1",0).attr(u+"2",i),d.transition(h,"dist").attr(a+"1",(function(t,e){return l(o(t,e))})).attr(a+"2",(function(t,e){return l(o(t,e))})),t=l.copy()})),d.renderEnd("distribution immediate"),f}return f.options=e.utils.optionsFunc.bind(f),f.dispatch=c,f.margin=function(t){return arguments.length?(n.top=void 0!==t.top?t.top:n.top,n.right=void 0!==t.right?t.right:n.right,n.bottom=void 0!==t.bottom?t.bottom:n.bottom,n.left=void 0!==t.left?t.left:n.left,f):n},f.width=function(t){return arguments.length?(r=t,f):r},f.axis=function(t){return arguments.length?(a=t,f):a},f.size=function(t){return arguments.length?(i=t,f):i},f.getData=function(t){return arguments.length?(o=d3.functor(t),f):o},f.scale=function(t){return arguments.length?(l=t,f):l},f.color=function(t){return arguments.length?(s=e.utils.getColor(t),f):s},f.duration=function(t){return arguments.length?(u=t,d.reset(u),f):u},f},e.models.focus=function(t){"use strict";t=t||e.models.line();var n,r,i=e.models.axis(),a=e.models.axis(),o=d3.svg.brush(),s={top:10,right:0,bottom:30,left:0},l=e.utils.defaultColor(),u=null,c=70,d=!0,f=!1,p=!1,g=null,h=250,v=d3.dispatch("brush","onBrush","renderEnd"),m=!0;t.interactive(!1),t.pointActive((function(t){return!1}));var y=e.utils.renderWatch(v,h);function b(x){return y.reset(),y.models(t),d&&y.models(i),f&&y.models(a),x.each((function(y){var x=d3.select(this);e.utils.initSVG(x);var k=e.utils.availableWidth(u,x,s),w=c-s.top-s.bottom;b.update=function(){0===h?x.call(b):x.transition().duration(h).call(b)},b.container=this,n=t.xScale(),r=t.yScale();var C=x.selectAll("g.nv-focus").data([y]),M=C.enter().append("g").attr("class","nvd3 nv-focus").append("g"),A=C.select("g");C.attr("transform","translate("+s.left+","+s.top+")"),M.append("g").attr("class","nv-background").append("rect"),M.append("g").attr("class","nv-x nv-axis"),M.append("g").attr("class","nv-y nv-axis"),M.append("g").attr("class","nv-contentWrap"),M.append("g").attr("class","nv-brushBackground"),M.append("g").attr("class","nv-x nv-brush"),p&&A.select(".nv-y.nv-axis").attr("transform","translate("+k+",0)"),A.select(".nv-background rect").attr("width",k).attr("height",w),t.width(k).height(w).color(y.map((function(t,e){return t.color||l(t,e)})).filter((function(t,e){return!y[e].disabled})));var S=A.select(".nv-contentWrap").datum(y.filter((function(t){return!t.disabled})));d3.transition(S).call(t),o.x(n).on("brush",(function(){F(m)})),o.on("brushend",(function(){m||v.onBrush(o.empty()?n.domain():o.extent())})),g&&o.extent(g);var E=A.select(".nv-brushBackground").selectAll("g").data([g||o.extent()]),D=E.enter().append("g");D.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",w),D.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",w);var T=A.select(".nv-x.nv-brush").call(o);function F(t){g=o.empty()?null:o.extent();var e=o.empty()?n.domain():o.extent();v.brush({extent:e,brush:o}),o.empty()||o.extent(g),E.data([o.empty()?n.domain():g]).each((function(t,e){var r=n(t[0])-n.range()[0],i=k-n(t[1]);d3.select(this).select(".left").attr("width",r<0?0:r),d3.select(this).select(".right").attr("x",n(t[1])).attr("width",i<0?0:i)})),t&&v.onBrush(e)}T.selectAll("rect").attr("height",w),T.selectAll(".resize").append("path").attr("d",(function(t){var e=+("e"==t),n=e?1:-1,r=w/3;return"M"+.5*n+","+r+"A6,6 0 0 "+e+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+e+" "+.5*n+","+2*r+"ZM"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)})),F(!0),A.select(".nv-background rect").attr("width",k).attr("height",w),d&&(i.scale(n)._ticks(e.utils.calcTicksX(k/100,y)).tickSize(-w,0),A.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")"),d3.transition(A.select(".nv-x.nv-axis")).call(i)),f&&(a.scale(r)._ticks(e.utils.calcTicksY(w/36,y)).tickSize(-k,0),d3.transition(A.select(".nv-y.nv-axis")).call(a)),A.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")")})),y.renderEnd("focus immediate"),b}return b.dispatch=v,b.content=t,b.brush=o,b.xAxis=i,b.yAxis=a,b.options=e.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return c},set:function(t){c=t}},showXAxis:{get:function(){return d},set:function(t){d=t}},showYAxis:{get:function(){return f},set:function(t){f=t}},brushExtent:{get:function(){return g},set:function(t){g=t}},syncBrushing:{get:function(){return m},set:function(t){m=t}},margin:{get:function(){return s},set:function(t){s.top=void 0!==t.top?t.top:s.top,s.right=void 0!==t.right?t.right:s.right,s.bottom=void 0!==t.bottom?t.bottom:s.bottom,s.left=void 0!==t.left?t.left:s.left}},duration:{get:function(){return h},set:function(e){h=e,y.reset(h),t.duration(h),i.duration(h),a.duration(h)}},color:{get:function(){return l},set:function(n){l=e.utils.getColor(n),t.color(l)}},interpolate:{get:function(){return t.interpolate()},set:function(e){t.interpolate(e)}},xTickFormat:{get:function(){return i.tickFormat()},set:function(t){i.tickFormat(t)}},yTickFormat:{get:function(){return a.tickFormat()},set:function(t){a.tickFormat(t)}},x:{get:function(){return t.x()},set:function(e){t.x(e)}},y:{get:function(){return t.y()},set:function(e){t.y(e)}},rightAlignYAxis:{get:function(){return p},set:function(t){p=t,a.orient(p?"right":"left")}}}),e.utils.inheritOptions(b,t),e.utils.initOptions(b),b},e.models.forceDirectedGraph=function(){"use strict";var t={top:2,right:0,bottom:2,left:0},n=400,r=32,i=null,a=d3.dispatch("renderEnd"),o=e.utils.getColor(["#000"]),s=e.models.tooltip(),l=null,u=.1,c=.9,d=30,f=-120,p=.1,g=.8,h=.1,v=5,m=function(t){},y=function(t){},b=d3.functor(0),x=d3.functor(0),k=e.utils.renderWatch(a);function w(a){return k.reset(),a.each((function(a){i=d3.select(this),e.utils.initSVG(i);var l=e.utils.availableWidth(n,i,t),b=e.utils.availableHeight(r,i,t);if(i.attr("width",l).attr("height",b),!(a&&a.links&&a.nodes))return e.utils.noData(w,i),w;i.selectAll(".nv-noData").remove(),i.selectAll("*").remove();var x=new Set;a.nodes.forEach((function(t){Object.keys(t).forEach((function(t){x.add(t)}))}));var k=d3.layout.force().nodes(a.nodes).links(a.links).size([l,b]).linkStrength(u).friction(c).linkDistance(d).charge(f).gravity(p).theta(g).alpha(h).start(),C=i.selectAll(".link").data(a.links).enter().append("line").attr("class","nv-force-link").style("stroke-width",(function(t){return Math.sqrt(t.value)})),M=i.selectAll(".node").data(a.nodes).enter().append("g").attr("class","nv-force-node").call(k.drag);M.append("circle").attr("r",v).style("fill",(function(t){return o(t)})).on("mouseover",(function(t){i.select(".nv-series-"+t.seriesIndex+" .nv-distx-"+t.pointIndex).attr("y1",t.py),i.select(".nv-series-"+t.seriesIndex+" .nv-disty-"+t.pointIndex).attr("x2",t.px);var e=o(t);t.series=[],x.forEach((function(n){t.series.push({color:e,key:n,value:t[n]})})),s.data(t).hidden(!1)})).on("mouseout",(function(t){s.hidden(!0)})),s.headerFormatter((function(t){return"Node"})),y(C),m(M),k.on("tick",(function(){C.attr("x1",(function(t){return t.source.x})).attr("y1",(function(t){return t.source.y})).attr("x2",(function(t){return t.target.x})).attr("y2",(function(t){return t.target.y})),M.attr("transform",(function(t){return"translate("+t.x+", "+t.y+")"}))}))})),w}return w.options=e.utils.optionsFunc.bind(w),w._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},linkStrength:{get:function(){return u},set:function(t){u=t}},friction:{get:function(){return c},set:function(t){c=t}},linkDist:{get:function(){return d},set:function(t){d=t}},charge:{get:function(){return f},set:function(t){f=t}},gravity:{get:function(){return p},set:function(t){p=t}},theta:{get:function(){return g},set:function(t){g=t}},alpha:{get:function(){return h},set:function(t){h=t}},radius:{get:function(){return v},set:function(t){v=t}},x:{get:function(){return b},set:function(t){b=d3.functor(t)}},y:{get:function(){return x},set:function(t){x=d3.functor(t)}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},color:{get:function(){return o},set:function(t){o=e.utils.getColor(t)}},noData:{get:function(){return l},set:function(t){l=t}},nodeExtras:{get:function(){return m},set:function(t){m=t}},linkExtras:{get:function(){return y},set:function(t){y=t}}}),w.dispatch=a,w.tooltip=s,e.utils.initOptions(w),w},e.models.furiousLegend=function(){"use strict";var t={top:5,right:0,bottom:5,left:0},n=400,r=20,i=function(t){return t.key},a=function(t){return t},o=e.utils.getColor(),s=20,l=!0,u=28,c=!0,d=!0,f=!1,p=!1,g=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),h="classic";function v(m){function y(t,e){return"furious"!=h?"#000":p?t.disengaged?o(t,e):"#fff":p?void 0:t.disabled?o(t,e):"#fff"}function b(t,e){return p&&"furious"==h?t.disengaged?"#fff":o(t,e):t.disabled?"#fff":o(t,e)}return m.each((function(v){var m=n-t.left-t.right,x=d3.select(this);e.utils.initSVG(x);var k=x.selectAll("g.nv-legend").data([v]),w=(k.enter().append("g").attr("class","nvd3 nv-legend").append("g"),k.select("g"));k.attr("transform","translate("+t.left+","+t.top+")");var C,M=w.selectAll(".nv-series").data((function(t){return"furious"!=h?t:t.filter((function(t){return!!p||!t.disengaged}))})),A=M.enter().append("g").attr("class","nv-series");"classic"==h?(A.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),C=M.select("circle")):"furious"==h&&(A.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),C=M.select("rect"),A.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)"),M.select(".nv-check-box").each((function(t,e){d3.select(this).selectAll("path").attr("stroke",y(t,e))}))),A.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var S,E=M.select("text.nv-legend-text");switch(M.on("mouseover",(function(t,e){g.legendMouseover(t,e)})).on("mouseout",(function(t,e){g.legendMouseout(t,e)})).on("click",(function(t,e){g.legendClick(t,e);var n=M.data();d&&("classic"==h?f?(n.forEach((function(t){t.disabled=!0})),t.disabled=!1):(t.disabled=!t.disabled,n.every((function(t){return t.disabled}))&&n.forEach((function(t){t.disabled=!1}))):"furious"==h&&(p?(t.disengaged=!t.disengaged,t.userDisabled=null==t.userDisabled?!!t.disabled:t.userDisabled,t.disabled=t.disengaged||t.userDisabled):p||(t.disabled=!t.disabled,t.userDisabled=t.disabled,n.filter((function(t){return!t.disengaged})).every((function(t){return t.userDisabled}))&&n.forEach((function(t){t.disabled=t.userDisabled=!1})))),g.stateChange({disabled:n.map((function(t){return!!t.disabled})),disengaged:n.map((function(t){return!!t.disengaged}))}))})).on("dblclick",(function(t,e){if(("furious"!=h||!p)&&(g.legendDblclick(t,e),d)){var n=M.data();n.forEach((function(t){t.disabled=!0,"furious"==h&&(t.userDisabled=t.disabled)})),t.disabled=!1,"furious"==h&&(t.userDisabled=t.disabled),g.stateChange({disabled:n.map((function(t){return!!t.disabled}))})}})),M.classed("nv-disabled",(function(t){return t.userDisabled})),M.exit().remove(),E.attr("fill",y).text((function(t){return a(i(t))})),h){case"furious":S=23;break;case"classic":S=20}if(l){var D=[];M.each((function(t,n){var r,o;if(a(i(t))&&a(i(t)).length>s){var l=a(i(t)).substring(0,s);r=d3.select(this).select("text").text(l+"..."),d3.select(this).append("svg:title").text(a(i(t)))}else r=d3.select(this).select("text");try{if((o=r.node().getComputedTextLength())<=0)throw Error()}catch(t){o=e.utils.calcApproxTextWidth(r)}D.push(o+u)}));for(var T=0,F=0,N=[];F<m&&T<D.length;)N[T]=D[T],F+=D[T++];for(0===T&&(T=1);F>m&&T>1;){N=[],T--;for(var O=0;O<D.length;O++)D[O]>(N[O%T]||0)&&(N[O%T]=D[O]);F=N.reduce((function(t,e,n,r){return t+e}))}for(var _=[],W=0,L=0;W<T;W++)_[W]=L,L+=N[W];M.attr("transform",(function(t,e){return"translate("+_[e%T]+","+(5+Math.floor(e/T)*S)+")"})),c?w.attr("transform","translate("+(n-t.right-F)+","+t.top+")"):w.attr("transform","translate(0,"+t.top+")"),r=t.top+t.bottom+Math.ceil(D.length/T)*S}else{var B,R=5,P=5,q=0;M.attr("transform",(function(e,r){var i=d3.select(this).select("text").node().getComputedTextLength()+u;return B=P,n<t.left+t.right+B+i&&(P=B=5,R+=S),(P+=i)>q&&(q=P),"translate("+B+","+R+")"})),w.attr("transform","translate("+(n-t.right-q)+","+t.top+")"),r=t.top+t.bottom+R+15}"furious"==h&&C.attr("width",(function(t,e){return E[0][e].getComputedTextLength()+27})).attr("height",18).attr("y",-9).attr("x",-15),C.style("fill",b).style("stroke",(function(t,e){return t.color||o(t,e)}))})),v}return v.dispatch=g,v.options=e.utils.optionsFunc.bind(v),v._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},key:{get:function(){return i},set:function(t){i=t}},keyFormatter:{get:function(){return a},set:function(t){a=t}},align:{get:function(){return l},set:function(t){l=t}},rightAlign:{get:function(){return c},set:function(t){c=t}},maxKeyLength:{get:function(){return s},set:function(t){s=t}},padding:{get:function(){return u},set:function(t){u=t}},updateState:{get:function(){return d},set:function(t){d=t}},radioButtonMode:{get:function(){return f},set:function(t){f=t}},expanded:{get:function(){return p},set:function(t){p=t}},vers:{get:function(){return h},set:function(t){h=t}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},color:{get:function(){return o},set:function(t){o=e.utils.getColor(t)}}}),e.utils.initOptions(v),v},e.models.historicalBar=function(){"use strict";var t,n,r,i,a={top:0,right:0,bottom:0,left:0},o=null,s=null,l=Math.floor(1e4*Math.random()),u=null,c=d3.scale.linear(),d=d3.scale.linear(),f=function(t){return t.x},p=function(t){return t.y},g=[],h=[0],v=!1,m=!0,y=e.utils.defaultColor(),b=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),x=!0,k=e.utils.renderWatch(b,0);function w(C){return C.each((function(w){k.reset(),u=d3.select(this);var C=e.utils.availableWidth(o,u,a),M=e.utils.availableHeight(s,u,a);e.utils.initSVG(u),c.domain(t||d3.extent(w[0].values.map(f).concat(g))),v?c.range(r||[.5*C/w[0].values.length,C*(w[0].values.length-.5)/w[0].values.length]):c.range(r||[0,C]),d.domain(n||d3.extent(w[0].values.map(p).concat(h))).range(i||[M,0]),c.domain()[0]===c.domain()[1]&&(c.domain()[0]?c.domain([c.domain()[0]-.01*c.domain()[0],c.domain()[1]+.01*c.domain()[1]]):c.domain([-1,1])),d.domain()[0]===d.domain()[1]&&(d.domain()[0]?d.domain([d.domain()[0]+.01*d.domain()[0],d.domain()[1]-.01*d.domain()[1]]):d.domain([-1,1]));var A=u.selectAll("g.nv-wrap.nv-historicalBar-"+l).data([w[0].values]),S=A.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+l),E=S.append("defs"),D=S.append("g"),T=A.select("g");D.append("g").attr("class","nv-bars"),A.attr("transform","translate("+a.left+","+a.top+")"),u.on("click",(function(t,e){b.chartClick({data:t,index:e,pos:d3.event,id:l})})),E.append("clipPath").attr("id","nv-chart-clip-path-"+l).append("rect"),A.select("#nv-chart-clip-path-"+l+" rect").attr("width",C).attr("height",M),T.attr("clip-path",m?"url(#nv-chart-clip-path-"+l+")":"");var F=A.select(".nv-bars").selectAll(".nv-bar").data((function(t){return t}),(function(t,e){return f(t,e)}));F.exit().remove(),F.enter().append("rect").attr("x",0).attr("y",(function(t,n){return e.utils.NaNtoZero(d(Math.max(0,p(t,n))))})).attr("height",(function(t,n){return e.utils.NaNtoZero(Math.abs(d(p(t,n))-d(0)))})).attr("transform",(function(t,e){return"translate("+(c(f(t,e))-C/w[0].values.length*.45)+",0)"})).on("mouseover",(function(t,e){x&&(d3.select(this).classed("hover",!0),b.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")}))})).on("mouseout",(function(t,e){x&&(d3.select(this).classed("hover",!1),b.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")}))})).on("mousemove",(function(t,e){x&&b.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})})).on("click",(function(t,e){x&&(b.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:this}),d3.event.stopPropagation())})).on("dblclick",(function(t,e){x&&(b.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation())})),F.attr("fill",(function(t,e){return y(t,e)})).attr("class",(function(t,e,n){return(p(t,e)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+n+"-"+e})).watchTransition(k,"bars").attr("transform",(function(t,e){return"translate("+(c(f(t,e))-C/w[0].values.length*.45)+",0)"})).attr("width",C/w[0].values.length*.9),F.watchTransition(k,"bars").attr("y",(function(t,n){var r=p(t,n)<0?d(0):d(0)-d(p(t,n))<1?d(0)-1:d(p(t,n));return e.utils.NaNtoZero(r)})).attr("height",(function(t,n){return e.utils.NaNtoZero(Math.max(Math.abs(d(p(t,n))-d(0)),1))}))})),k.renderEnd("historicalBar immediate"),w}return w.highlightPoint=function(t,e){u.select(".nv-bars .nv-bar-0-"+t).classed("hover",e)},w.clearHighlights=function(){u.select(".nv-bars .nv-bar.hover").classed("hover",!1)},w.dispatch=b,w.options=e.utils.optionsFunc.bind(w),w._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},forceX:{get:function(){return g},set:function(t){g=t}},forceY:{get:function(){return h},set:function(t){h=t}},padData:{get:function(){return v},set:function(t){v=t}},x:{get:function(){return f},set:function(t){f=t}},y:{get:function(){return p},set:function(t){p=t}},xScale:{get:function(){return c},set:function(t){c=t}},yScale:{get:function(){return d},set:function(t){d=t}},xDomain:{get:function(){return t},set:function(e){t=e}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return i},set:function(t){i=t}},clipEdge:{get:function(){return m},set:function(t){m=t}},id:{get:function(){return l},set:function(t){l=t}},interactive:{get:function(){return x},set:function(t){x=t}},margin:{get:function(){return a},set:function(t){a.top=void 0!==t.top?t.top:a.top,a.right=void 0!==t.right?t.right:a.right,a.bottom=void 0!==t.bottom?t.bottom:a.bottom,a.left=void 0!==t.left?t.left:a.left}},color:{get:function(){return y},set:function(t){y=e.utils.getColor(t)}}}),e.utils.initOptions(w),w},e.models.historicalBarChart=function(t){"use strict";var n,r,i=t||e.models.historicalBar(),a=e.models.axis(),o=e.models.axis(),s=e.models.legend(),l=e.interactiveGuideline(),u=e.models.tooltip(),c={top:30,right:90,bottom:50,left:90},d=null,f=e.utils.defaultColor(),p=null,g=null,h=!1,v=!0,m=!0,y=!1,b=!1,x={},k=null,w=null,C=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),M=250;a.orient("bottom").tickPadding(7),o.orient(y?"right":"left"),u.duration(0).headerEnabled(!1).valueFormatter((function(t,e){return o.tickFormat()(t,e)})).headerFormatter((function(t,e){return a.tickFormat()(t,e)}));var A=e.utils.renderWatch(C,0);function S(t){return t.each((function(u){A.reset(),A.models(i),v&&A.models(a),m&&A.models(o);var w=d3.select(this);e.utils.initSVG(w);var E,D=e.utils.availableWidth(p,w,c),T=e.utils.availableHeight(g,w,c);if(S.update=function(){w.transition().duration(M).call(S)},S.container=this,x.disabled=u.map((function(t){return!!t.disabled})),!k)for(E in k={},x)x[E]instanceof Array?k[E]=x[E].slice(0):k[E]=x[E];if(!(u&&u.length&&u.filter((function(t){return t.values.length})).length))return e.utils.noData(S,w),S;w.selectAll(".nv-noData").remove(),n=i.xScale(),r=i.yScale();var F=w.selectAll("g.nv-wrap.nv-historicalBarChart").data([u]),N=F.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),O=F.select("g");N.append("g").attr("class","nv-x nv-axis"),N.append("g").attr("class","nv-y nv-axis"),N.append("g").attr("class","nv-barsWrap"),N.append("g").attr("class","nv-legendWrap"),N.append("g").attr("class","nv-interactive"),h?(s.width(D),O.select(".nv-legendWrap").datum(u).call(s),d||s.height()===c.top||(c.top=s.height(),T=e.utils.availableHeight(g,w,c)),F.select(".nv-legendWrap").attr("transform","translate(0,"+-c.top+")")):O.select(".nv-legendWrap").selectAll("*").remove(),F.attr("transform","translate("+c.left+","+c.top+")"),y&&O.select(".nv-y.nv-axis").attr("transform","translate("+D+",0)"),b&&(l.width(D).height(T).margin({left:c.left,top:c.top}).svgContainer(w).xScale(n),F.select(".nv-interactive").call(l)),i.width(D).height(T).color(u.map((function(t,e){return t.color||f(t,e)})).filter((function(t,e){return!u[e].disabled}))),O.select(".nv-barsWrap").datum(u.filter((function(t){return!t.disabled}))).transition().call(i),v&&(a.scale(n)._ticks(e.utils.calcTicksX(D/100,u)).tickSize(-T,0),O.select(".nv-x.nv-axis").attr("transform","translate(0,"+r.range()[0]+")"),O.select(".nv-x.nv-axis").transition().call(a)),m&&(o.scale(r)._ticks(e.utils.calcTicksY(T/36,u)).tickSize(-D,0),O.select(".nv-y.nv-axis").transition().call(o)),l.dispatch.on("elementMousemove",(function(t){i.clearHighlights();var n,r,s,c=[];u.filter((function(t,e){return t.seriesIndex=e,!t.disabled})).forEach((function(a,o){r=e.interactiveBisect(a.values,t.pointXValue,S.x()),i.highlightPoint(r,!0);var l=a.values[r];void 0!==l&&(void 0===n&&(n=l),void 0===s&&(s=S.xScale()(S.x()(l,r))),c.push({key:a.key,value:S.y()(l,r),color:f(a,a.seriesIndex),data:a.values[r]}))}));var d=a.tickFormat()(S.x()(n,r));l.tooltip.valueFormatter((function(t,e){return o.tickFormat()(t)})).data({value:d,index:r,series:c})(),l.renderGuideLine(s)})),l.dispatch.on("elementMouseout",(function(t){C.tooltipHide(),i.clearHighlights()})),s.dispatch.on("legendClick",(function(e,n){e.disabled=!e.disabled,u.filter((function(t){return!t.disabled})).length||u.map((function(t){return t.disabled=!1,F.selectAll(".nv-series").classed("disabled",!1),t})),x.disabled=u.map((function(t){return!!t.disabled})),C.stateChange(x),t.transition().call(S)})),s.dispatch.on("legendDblclick",(function(t){u.forEach((function(t){t.disabled=!0})),t.disabled=!1,x.disabled=u.map((function(t){return!!t.disabled})),C.stateChange(x),S.update()})),C.on("changeState",(function(t){void 0!==t.disabled&&(u.forEach((function(e,n){e.disabled=t.disabled[n]})),x.disabled=t.disabled),S.update()}))})),A.renderEnd("historicalBarChart immediate"),S}return i.dispatch.on("elementMouseover.tooltip",(function(t){t.series={key:S.x()(t.data),value:S.y()(t.data),color:t.color},u.data(t).hidden(!1)})),i.dispatch.on("elementMouseout.tooltip",(function(t){u.hidden(!0)})),i.dispatch.on("elementMousemove.tooltip",(function(t){u()})),S.dispatch=C,S.bars=i,S.legend=s,S.xAxis=a,S.yAxis=o,S.interactiveLayer=l,S.tooltip=u,S.options=e.utils.optionsFunc.bind(S),S._options=Object.create({},{width:{get:function(){return p},set:function(t){p=t}},height:{get:function(){return g},set:function(t){g=t}},showLegend:{get:function(){return h},set:function(t){h=t}},showXAxis:{get:function(){return v},set:function(t){v=t}},showYAxis:{get:function(){return m},set:function(t){m=t}},defaultState:{get:function(){return k},set:function(t){k=t}},noData:{get:function(){return w},set:function(t){w=t}},margin:{get:function(){return c},set:function(t){void 0!==t.top&&(c.top=t.top,d=t.top),c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t),s.color(f),i.color(f)}},duration:{get:function(){return M},set:function(t){M=t,A.reset(M),o.duration(M),a.duration(M)}},rightAlignYAxis:{get:function(){return y},set:function(t){y=t,o.orient(t?"right":"left")}},useInteractiveGuideline:{get:function(){return b},set:function(t){b=t,!0===t&&S.interactive(!1)}}}),e.utils.inheritOptions(S,i),e.utils.initOptions(S),S},e.models.ohlcBarChart=function(){var t=e.models.historicalBarChart(e.models.ohlcBar());return t.useInteractiveGuideline(!0),t.interactiveLayer.tooltip.contentGenerator((function(e){var n=e.series[0].data;return'<h3 style="color: #'+(n.open<n.close?"2ca02c":"d62728")+'">'+e.value+"</h3><table><tr><td>open:</td><td>"+t.yAxis.tickFormat()(n.open)+"</td></tr><tr><td>close:</td><td>"+t.yAxis.tickFormat()(n.close)+"</td></tr><tr><td>high</td><td>"+t.yAxis.tickFormat()(n.high)+"</td></tr><tr><td>low:</td><td>"+t.yAxis.tickFormat()(n.low)+"</td></tr></table>"})),t},e.models.candlestickBarChart=function(){var t=e.models.historicalBarChart(e.models.candlestickBar());return t.useInteractiveGuideline(!0),t.interactiveLayer.tooltip.contentGenerator((function(e){var n=e.series[0].data;return'<h3 style="color: #'+(n.open<n.close?"2ca02c":"d62728")+'">'+e.value+"</h3><table><tr><td>open:</td><td>"+t.yAxis.tickFormat()(n.open)+"</td></tr><tr><td>close:</td><td>"+t.yAxis.tickFormat()(n.close)+"</td></tr><tr><td>high</td><td>"+t.yAxis.tickFormat()(n.high)+"</td></tr><tr><td>low:</td><td>"+t.yAxis.tickFormat()(n.low)+"</td></tr></table>"})),t},e.models.legend=function(){"use strict";var t={top:5,right:0,bottom:5,left:0},n=400,r=20,i=function(t){return t.key},a=function(t){return t},o=e.utils.getColor(),s=20,l=!0,u=32,c=!0,d=!0,f=!0,p=!1,g=!1,h=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),v="classic";function m(y){function b(t,e){return"furious"!=v?"#000":g?t.disengaged?"#000":"#fff":g?void 0:(t.color||(t.color=o(t,e)),t.disabled?t.color:"#fff")}function x(t,e){return g&&"furious"==v&&t.disengaged?"#eee":t.color||o(t,e)}function k(t,e){return g&&"furious"==v?1:t.disabled?0:1}return y.each((function(o){var m=n-t.left-t.right,y=d3.select(this);e.utils.initSVG(y);var w=y.selectAll("g.nv-legend").data([o]),C=w.enter().append("g").attr("class","nvd3 nv-legend").append("g"),M=w.select("g");c?w.attr("transform","translate("+-t.right+","+t.top+")"):w.attr("transform","translate("+t.left+","+t.top+")");var A,S,E=M.selectAll(".nv-series").data((function(t){return"furious"!=v?t:t.filter((function(t){return!!g||!t.disengaged}))})),D=E.enter().append("g").attr("class","nv-series");switch(v){case"furious":S=23;break;case"classic":S=20}"classic"==v?(D.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),A=E.select(".nv-legend-symbol")):"furious"==v&&(D.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),A=E.select(".nv-legend-symbol"),D.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)"),E.select(".nv-check-box").each((function(t,e){d3.select(this).selectAll("path").attr("stroke",b(t,e))}))),D.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var T=E.select("text.nv-legend-text");E.on("mouseover",(function(t,e){h.legendMouseover(t,e)})).on("mouseout",(function(t,e){h.legendMouseout(t,e)})).on("click",(function(t,e){h.legendClick(t,e);var n=E.data();d&&("classic"==v?p?(n.forEach((function(t){t.disabled=!0})),t.disabled=!1):(t.disabled=!t.disabled,n.every((function(t){return t.disabled}))&&n.forEach((function(t){t.disabled=!1}))):"furious"==v&&(g?(t.disengaged=!t.disengaged,t.userDisabled=null==t.userDisabled?!!t.disabled:t.userDisabled,t.disabled=t.disengaged||t.userDisabled):g||(t.disabled=!t.disabled,t.userDisabled=t.disabled,n.filter((function(t){return!t.disengaged})).every((function(t){return t.userDisabled}))&&n.forEach((function(t){t.disabled=t.userDisabled=!1})))),h.stateChange({disabled:n.map((function(t){return!!t.disabled})),disengaged:n.map((function(t){return!!t.disengaged}))}))})).on("dblclick",(function(t,e){if(f){if("furious"==v&&g)return;if(h.legendDblclick(t,e),d){var n=E.data();n.forEach((function(t){t.disabled=!0,"furious"==v&&(t.userDisabled=t.disabled)})),t.disabled=!1,"furious"==v&&(t.userDisabled=t.disabled),h.stateChange({disabled:n.map((function(t){return!!t.disabled}))})}}})),E.classed("nv-disabled",(function(t){return t.userDisabled})),E.exit().remove(),T.attr("fill",b).text((function(t){return a(i(t))}));var F=0;if(l){var N=[];E.each((function(t,n){var r,o;if(a(i(t))&&a(i(t)).length>s){var l=a(i(t)).substring(0,s);r=d3.select(this).select("text").text(l+"..."),d3.select(this).append("svg:title").text(a(i(t)))}else r=d3.select(this).select("text");try{if((o=r.node().getComputedTextLength())<=0)throw Error()}catch(t){o=e.utils.calcApproxTextWidth(r)}N.push(o+u)}));var O=0,_=[];for(F=0;F<m&&O<N.length;)_[O]=N[O],F+=N[O++];for(0===O&&(O=1);F>m&&O>1;){_=[],O--;for(var W=0;W<N.length;W++)N[W]>(_[W%O]||0)&&(_[W%O]=N[W]);F=_.reduce((function(t,e,n,r){return t+e}))}for(var L=[],B=0,R=0;B<O;B++)L[B]=R,R+=_[B];E.attr("transform",(function(t,e){return"translate("+L[e%O]+","+(5+Math.floor(e/O)*S)+")"})),c?M.attr("transform","translate("+(n-t.right-F)+","+t.top+")"):M.attr("transform","translate(0,"+t.top+")"),r=t.top+t.bottom+Math.ceil(N.length/O)*S}else{var P,q=5,I=5,V=0;E.attr("transform",(function(e,r){var i=d3.select(this).select("text").node().getComputedTextLength()+u;return P=I,n<t.left+t.right+P+i&&(I=P=5,q+=S),(I+=i)>V&&(V=I),F<P+V&&(F=P+V),"translate("+P+","+q+")"})),M.attr("transform","translate("+(n-t.right-V)+","+t.top+")"),r=t.top+t.bottom+q+15}"furious"==v&&(A.attr("width",(function(t,e){return T[0][e].getComputedTextLength()+27})).attr("height",18).attr("y",-9).attr("x",-15),C.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0),M.select(".nv-legend-bg").transition().duration(300).attr("x",-S).attr("width",F+S-12).attr("height",r+10).attr("y",-t.top-10).attr("opacity",g?1:0)),A.style("fill",x).style("fill-opacity",k).style("stroke",x)})),m}return m.dispatch=h,m.options=e.utils.optionsFunc.bind(m),m._options=Object.create({},{width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},key:{get:function(){return i},set:function(t){i=t}},keyFormatter:{get:function(){return a},set:function(t){a=t}},align:{get:function(){return l},set:function(t){l=t}},maxKeyLength:{get:function(){return s},set:function(t){s=t}},rightAlign:{get:function(){return c},set:function(t){c=t}},padding:{get:function(){return u},set:function(t){u=t}},updateState:{get:function(){return d},set:function(t){d=t}},enableDoubleClick:{get:function(){return f},set:function(t){f=t}},radioButtonMode:{get:function(){return p},set:function(t){p=t}},expanded:{get:function(){return g},set:function(t){g=t}},vers:{get:function(){return v},set:function(t){v=t}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},color:{get:function(){return o},set:function(t){o=e.utils.getColor(t)}}}),e.utils.initOptions(m),m},e.models.line=function(){"use strict";var t,n,r=e.models.scatter(),i={top:0,right:0,bottom:0,left:0},a=960,o=500,s=null,l=e.utils.defaultColor(),u=function(t){return t.x},c=function(t){return t.y},d=function(t,e){return!isNaN(c(t,e))&&null!==c(t,e)},f=function(t){return t.area},p=!1,g="linear",h=250,v=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");r.pointSize(16).pointDomain([16,256]);var m,y,b=e.utils.renderWatch(v,h);function x(h){return b.reset(),b.models(r),h.each((function(h){s=d3.select(this);var v=e.utils.availableWidth(a,s,i),x=e.utils.availableHeight(o,s,i);e.utils.initSVG(s),t=r.xScale(),n=r.yScale(),m=m||t,y=y||n;var k=s.selectAll("g.nv-wrap.nv-line").data([h]),w=k.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),C=w.append("defs"),M=w.append("g"),A=k.select("g");M.append("g").attr("class","nv-groups"),M.append("g").attr("class","nv-scatterWrap"),k.attr("transform","translate("+i.left+","+i.top+")"),r.width(v).height(x);var S=k.select(".nv-scatterWrap");S.call(r),C.append("clipPath").attr("id","nv-edge-clip-"+r.id()).append("rect"),k.select("#nv-edge-clip-"+r.id()+" rect").attr("width",v).attr("height",x>0?x:0),A.attr("clip-path",p?"url(#nv-edge-clip-"+r.id()+")":""),S.attr("clip-path",p?"url(#nv-edge-clip-"+r.id()+")":"");var E=k.select(".nv-groups").selectAll(".nv-group").data((function(t){return t}),(function(t){return t.key}));E.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",(function(t){return t.strokeWidth||1.5})).style("fill-opacity",1e-6),E.exit().remove(),E.attr("class",(function(t,e){return(t.classed||"")+" nv-group nv-series-"+e})).classed("hover",(function(t){return t.hover})).style("fill",(function(t,e){return l(t,e)})).style("stroke",(function(t,e){return l(t,e)})),E.watchTransition(b,"line: groups").style("stroke-opacity",1).style("fill-opacity",(function(t){return t.fillOpacity||.5}));var D=E.selectAll("path.nv-area").data((function(t){return f(t)?[t]:[]}));D.enter().append("path").attr("class","nv-area").attr("d",(function(t){return d3.svg.area().interpolate(g).defined(d).x((function(t,n){return e.utils.NaNtoZero(m(u(t,n)))})).y0((function(t,n){return e.utils.NaNtoZero(y(c(t,n)))})).y1((function(t,e){return y(n.domain()[0]<=0?n.domain()[1]>=0?0:n.domain()[1]:n.domain()[0])})).apply(this,[t.values])})),E.exit().selectAll("path.nv-area").remove(),D.watchTransition(b,"line: areaPaths").attr("d",(function(r){return d3.svg.area().interpolate(g).defined(d).x((function(n,r){return e.utils.NaNtoZero(t(u(n,r)))})).y0((function(t,r){return e.utils.NaNtoZero(n(c(t,r)))})).y1((function(t,e){return n(n.domain()[0]<=0?n.domain()[1]>=0?0:n.domain()[1]:n.domain()[0])})).apply(this,[r.values])}));var T=E.selectAll("path.nv-line").data((function(t){return[t.values]}));T.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(g).defined(d).x((function(t,n){return e.utils.NaNtoZero(m(u(t,n)))})).y((function(t,n){return e.utils.NaNtoZero(y(c(t,n)))}))),T.watchTransition(b,"line: linePaths").attr("d",d3.svg.line().interpolate(g).defined(d).x((function(n,r){return e.utils.NaNtoZero(t(u(n,r)))})).y((function(t,r){return e.utils.NaNtoZero(n(c(t,r)))}))),m=t.copy(),y=n.copy()})),b.renderEnd("line immediate"),x}return x.dispatch=v,x.scatter=r,r.dispatch.on("elementClick",(function(){v.elementClick.apply(this,arguments)})),r.dispatch.on("elementMouseover",(function(){v.elementMouseover.apply(this,arguments)})),r.dispatch.on("elementMouseout",(function(){v.elementMouseout.apply(this,arguments)})),x.options=e.utils.optionsFunc.bind(x),x._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return o},set:function(t){o=t}},defined:{get:function(){return d},set:function(t){d=t}},interpolate:{get:function(){return g},set:function(t){g=t}},clipEdge:{get:function(){return p},set:function(t){p=t}},margin:{get:function(){return i},set:function(t){i.top=void 0!==t.top?t.top:i.top,i.right=void 0!==t.right?t.right:i.right,i.bottom=void 0!==t.bottom?t.bottom:i.bottom,i.left=void 0!==t.left?t.left:i.left}},duration:{get:function(){return h},set:function(t){h=t,b.reset(h),r.duration(h)}},isArea:{get:function(){return f},set:function(t){f=d3.functor(t)}},x:{get:function(){return u},set:function(t){u=t,r.x(t)}},y:{get:function(){return c},set:function(t){c=t,r.y(t)}},color:{get:function(){return l},set:function(t){l=e.utils.getColor(t),r.color(l)}}}),e.utils.inheritOptions(x,r),e.utils.initOptions(x),x},e.models.lineChart=function(){"use strict";var t,n,r=e.models.line(),i=e.models.axis(),a=e.models.axis(),o=e.models.legend(),s=e.interactiveGuideline(),l=e.models.tooltip(),u=e.models.focus(e.models.line()),c={top:30,right:20,bottom:50,left:60},d=null,f=e.utils.defaultColor(),p=null,g=null,h=!0,v="top",m=!0,y=!0,b=!1,x=!1,k=!1,w=e.utils.state(),C=null,M=null,A=d3.dispatch("stateChange","changeState","renderEnd"),S=250;i.orient("bottom").tickPadding(7),a.orient(b?"right":"left"),r.clipEdge(!0).duration(0),l.valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),s.tooltip.valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)}));var E=e.utils.renderWatch(A,S);function D(l){return E.reset(),E.models(r),m&&E.models(i),y&&E.models(a),l.each((function(l){var M=d3.select(this);e.utils.initSVG(M);var E,T=e.utils.availableWidth(p,M,c),F=e.utils.availableHeight(g,M,c)-(k?u.height():0);if(D.update=function(){0===S?M.call(D):M.transition().duration(S).call(D)},D.container=this,w.setter(function(t){return function(e){void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(l),D.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled}))}}}(l)).update(),w.disabled=l.map((function(t){return!!t.disabled})),!C)for(E in C={},w)w[E]instanceof Array?C[E]=w[E].slice(0):C[E]=w[E];if(!(l&&l.length&&l.filter((function(t){return t.values.length})).length))return e.utils.noData(D,M),D;M.selectAll(".nv-noData").remove(),u.dispatch.on("onBrush",(function(t){q(t)})),t=r.xScale(),n=r.yScale();var N=M.selectAll("g.nv-wrap.nv-lineChart").data([l]),O=N.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),_=N.select("g");O.append("g").attr("class","nv-legendWrap");var W=O.append("g").attr("class","nv-focus");W.append("g").attr("class","nv-background").append("rect"),W.append("g").attr("class","nv-x nv-axis"),W.append("g").attr("class","nv-y nv-axis"),W.append("g").attr("class","nv-linesWrap"),W.append("g").attr("class","nv-interactive"),O.append("g").attr("class","nv-focusWrap"),h?(o.width(T),_.select(".nv-legendWrap").datum(l).call(o),"bottom"===v?(c.bottom=i.height()+o.height(),F=e.utils.availableHeight(g,M,c),_.select(".nv-legendWrap").attr("transform","translate(0,"+(F+i.height())+")")):"top"===v&&(d||o.height()===c.top||(c.top=o.height(),F=e.utils.availableHeight(g,M,c)-(k?u.height():0)),N.select(".nv-legendWrap").attr("transform","translate(0,"+-c.top+")"))):_.select(".nv-legendWrap").selectAll("*").remove(),N.attr("transform","translate("+c.left+","+c.top+")"),b&&_.select(".nv-y.nv-axis").attr("transform","translate("+T+",0)"),x&&(s.width(T).height(F).margin({left:c.left,top:c.top}).svgContainer(M).xScale(t),N.select(".nv-interactive").call(s)),_.select(".nv-focus .nv-background rect").attr("width",T).attr("height",F),r.width(T).height(F).color(l.map((function(t,e){return t.color||f(t,e)})).filter((function(t,e){return!l[e].disabled})));var L=_.select(".nv-linesWrap").datum(l.filter((function(t){return!t.disabled})));function B(){m&&_.select(".nv-focus .nv-x.nv-axis").transition().duration(S).call(i)}function R(){y&&_.select(".nv-focus .nv-y.nv-axis").transition().duration(S).call(a)}if(m&&i.scale(t)._ticks(e.utils.calcTicksX(T/100,l)).tickSize(-F,0),y&&a.scale(n)._ticks(e.utils.calcTicksY(F/36,l)).tickSize(-T,0),_.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+F+")"),k||null!==u.brush.extent()){u.width(T),_.select(".nv-focusWrap").style("display",k?"initial":"none").attr("transform","translate(0,"+(F+c.bottom+u.margin().top)+")").call(u);var P=u.brush.empty()?u.xDomain():u.brush.extent();null!==P&&q(P)}else L.call(r),B(),R();function q(t){_.select(".nv-focus .nv-linesWrap").datum(l.filter((function(t){return!t.disabled})).map((function(e,n){return{key:e.key,area:e.area,classed:e.classed,values:e.values.filter((function(e,n){return r.x()(e,n)>=t[0]&&r.x()(e,n)<=t[1]})),disableTooltip:e.disableTooltip}}))).transition().duration(S).call(r),B(),R()}o.dispatch.on("stateChange",(function(t){for(var e in t)w[e]=t[e];A.stateChange(w),D.update()})),s.dispatch.on("elementMousemove",(function(n){r.clearHighlights();var i,o,c,d=[];if(l.filter((function(t,e){return t.seriesIndex=e,!t.disabled&&!t.disableTooltip})).forEach((function(a,s){var l=null!==u.brush.extent()?u.brush.empty()?u.xScale().domain():u.brush.extent():t.domain(),p=a.values.filter((function(t,e){return l[0]<=l[1]?r.x()(t,e)>=l[0]&&r.x()(t,e)<=l[1]:r.x()(t,e)>=l[1]&&r.x()(t,e)<=l[0]})),g=p[o=e.interactiveBisect(p,n.pointXValue,r.x())],h=D.y()(g,o);null!==h&&r.highlightPoint(s,o,!0),void 0!==g&&(void 0===i&&(i=g),void 0===c&&(c=D.xScale()(D.x()(g,o))),d.push({key:a.key,value:h,color:f(a,a.seriesIndex),data:g}))})),d.length>2){var p=D.yScale().invert(n.mouseY),g=.03*Math.abs(D.yScale().domain()[0]-D.yScale().domain()[1]),h=e.nearestValueIndex(d.map((function(t){return t.value})),p,g);null!==h&&(d[h].highlight=!0)}s.tooltip.valueFormatter(s.tooltip.valueFormatter()||function(t,e){return null==t?"N/A":a.tickFormat()(t)}).data({value:D.x()(i,o),index:o,series:d})(),s.renderGuideLine(c)})),s.dispatch.on("elementClick",(function(t){var n,i=[];l.filter((function(t,e){return t.seriesIndex=e,!t.disabled})).forEach((function(r){var a=e.interactiveBisect(r.values,t.pointXValue,D.x()),o=r.values[a];if(void 0!==o){void 0===n&&(n=D.xScale()(D.x()(o,a)));var s=D.yScale()(D.y()(o,a));i.push({point:o,pointIndex:a,pos:[n,s],seriesIndex:r.seriesIndex,series:r})}})),r.dispatch.elementClick(i)})),s.dispatch.on("elementMouseout",(function(t){r.clearHighlights()})),A.on("changeState",(function(t){void 0!==t.disabled&&l.length===t.disabled.length&&(l.forEach((function(e,n){e.disabled=t.disabled[n]})),w.disabled=t.disabled),D.update()}))})),E.renderEnd("lineChart immediate"),D}return r.dispatch.on("elementMouseover.tooltip",(function(t){t.series.disableTooltip||l.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){l.hidden(!0)})),D.dispatch=A,D.lines=r,D.legend=o,D.focus=u,D.xAxis=i,D.x2Axis=u.xAxis,D.yAxis=a,D.y2Axis=u.yAxis,D.interactiveLayer=s,D.tooltip=l,D.state=w,D.dispatch=A,D.options=e.utils.optionsFunc.bind(D),D._options=Object.create({},{width:{get:function(){return p},set:function(t){p=t}},height:{get:function(){return g},set:function(t){g=t}},showLegend:{get:function(){return h},set:function(t){h=t}},legendPosition:{get:function(){return v},set:function(t){v=t}},showXAxis:{get:function(){return m},set:function(t){m=t}},showYAxis:{get:function(){return y},set:function(t){y=t}},defaultState:{get:function(){return C},set:function(t){C=t}},noData:{get:function(){return M},set:function(t){M=t}},focusEnable:{get:function(){return k},set:function(t){k=t}},focusHeight:{get:function(){return u.height()},set:function(t){u.height(t)}},focusShowAxisX:{get:function(){return u.showXAxis()},set:function(t){u.showXAxis(t)}},focusShowAxisY:{get:function(){return u.showYAxis()},set:function(t){u.showYAxis(t)}},brushExtent:{get:function(){return u.brushExtent()},set:function(t){u.brushExtent(t)}},focusMargin:{get:function(){return u.margin},set:function(t){void 0!==t.top&&(c.top=t.top,d=t.top),u.margin.right=void 0!==t.right?t.right:u.margin.right,u.margin.bottom=void 0!==t.bottom?t.bottom:u.margin.bottom,u.margin.left=void 0!==t.left?t.left:u.margin.left}},margin:{get:function(){return c},set:function(t){c.top=void 0!==t.top?t.top:c.top,c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},duration:{get:function(){return S},set:function(t){S=t,E.reset(S),r.duration(S),u.duration(S),i.duration(S),a.duration(S)}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t),o.color(f),r.color(f),u.color(f)}},interpolate:{get:function(){return r.interpolate()},set:function(t){r.interpolate(t),u.interpolate(t)}},xTickFormat:{get:function(){return i.tickFormat()},set:function(t){i.tickFormat(t),u.xTickFormat(t)}},yTickFormat:{get:function(){return a.tickFormat()},set:function(t){a.tickFormat(t),u.yTickFormat(t)}},x:{get:function(){return r.x()},set:function(t){r.x(t),u.x(t)}},y:{get:function(){return r.y()},set:function(t){r.y(t),u.y(t)}},rightAlignYAxis:{get:function(){return b},set:function(t){b=t,a.orient(b?"right":"left")}},useInteractiveGuideline:{get:function(){return x},set:function(t){(x=t)&&(r.interactive(!1),r.useVoronoi(!1))}}}),e.utils.inheritOptions(D,r),e.utils.initOptions(D),D},e.models.lineWithFocusChart=function(){return e.models.lineChart().margin({bottom:30}).focusEnable(!0)},e.models.linePlusBarChart=function(){"use strict";var t,n,r,i,a,o,s,l=e.models.line(),u=e.models.line(),c=e.models.historicalBar(),d=e.models.historicalBar(),f=e.models.axis(),p=e.models.axis(),g=e.models.axis(),h=e.models.axis(),v=e.models.axis(),m=e.models.axis(),y=e.models.legend(),b=d3.svg.brush(),x=e.models.tooltip(),k={top:30,right:30,bottom:30,left:60},w=null,C={top:0,right:30,bottom:20,left:60},M=null,A=null,S=function(t){return t.x},E=function(t){return t.y},D=e.utils.defaultColor(),T=!0,F=!0,N=!1,O=!0,_=50,W=null,L=null,B=d3.dispatch("brush","stateChange","changeState"),R=0,P=e.utils.state(),q=null,I=" (left axis)",V=" (right axis)",H=!1;l.clipEdge(!0),u.interactive(!1),u.pointActive((function(t){return!1})),f.orient("bottom").tickPadding(5),g.orient("left"),h.orient("right"),p.orient("bottom").tickPadding(5),v.orient("left"),m.orient("right"),x.headerEnabled(!0).headerFormatter((function(t,e){return f.tickFormat()(t,e)}));var z=function(t){return t.every((function(t){return t.disabled}))};function j(x){return x.each((function(x){var L=d3.select(this);e.utils.initSVG(L);var Q,$=e.utils.availableWidth(M,L,k),G=e.utils.availableHeight(A,L,k)-(F?_:0),Y=_-C.top-C.bottom;if(j.update=function(){L.transition().duration(R).call(j)},j.container=this,P.setter(function(t){return function(e){void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(x),j.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled}))}}}(x)).update(),P.disabled=x.map((function(t){return!!t.disabled})),!q)for(Q in q={},P)P[Q]instanceof Array?q[Q]=P[Q].slice(0):q[Q]=P[Q];if(!(x&&x.length&&x.filter((function(t){return t.values.length})).length))return e.utils.noData(j,L),j;L.selectAll(".nv-noData").remove();var X=x.filter((function(t){return!t.disabled&&t.bar})),U=x.filter((function(t){return!t.bar}));n=X.length&&!H?c.xScale():l.xScale(),r=p.scale(),i=H?l.yScale():c.yScale(),a=H?c.yScale():l.yScale(),o=H?u.yScale():d.yScale(),s=H?d.yScale():u.yScale();var Z=x.filter((function(t){return!t.disabled&&(H?!t.bar:t.bar)})).map((function(t){return t.values.map((function(t,e){return{x:S(t,e),y:E(t,e)}}))})),K=x.filter((function(t){return!t.disabled&&(H?t.bar:!t.bar)})).map((function(t){return t.values.map((function(t,e){return{x:S(t,e),y:E(t,e)}}))}));n.range([0,$]),r.domain(d3.extent(d3.merge(Z.concat(K)),(function(t){return t.x}))).range([0,$]);var J=L.selectAll("g.nv-wrap.nv-linePlusBar").data([x]),tt=J.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),et=J.select("g");tt.append("g").attr("class","nv-legendWrap");var nt=tt.append("g").attr("class","nv-focus");nt.append("g").attr("class","nv-x nv-axis"),nt.append("g").attr("class","nv-y1 nv-axis"),nt.append("g").attr("class","nv-y2 nv-axis"),nt.append("g").attr("class","nv-barsWrap"),nt.append("g").attr("class","nv-linesWrap");var rt=tt.append("g").attr("class","nv-context");if(rt.append("g").attr("class","nv-x nv-axis"),rt.append("g").attr("class","nv-y1 nv-axis"),rt.append("g").attr("class","nv-y2 nv-axis"),rt.append("g").attr("class","nv-barsWrap"),rt.append("g").attr("class","nv-linesWrap"),rt.append("g").attr("class","nv-brushBackground"),rt.append("g").attr("class","nv-x nv-brush"),T){var it=y.align()?$/2:$,at=y.align()?it:0;y.width(it),et.select(".nv-legendWrap").datum(x.map((function(t){return t.originalKey=void 0===t.originalKey?t.key:t.originalKey,t.key=H?t.originalKey+(t.bar?V:I):t.originalKey+(t.bar?I:V),t}))).call(y),w||y.height()===k.top||(k.top=y.height(),G=e.utils.availableHeight(A,L,k)-_),et.select(".nv-legendWrap").attr("transform","translate("+at+","+-k.top+")")}else et.select(".nv-legendWrap").selectAll("*").remove();J.attr("transform","translate("+k.left+","+k.top+")"),et.select(".nv-context").style("display",F?"initial":"none"),d.width($).height(Y).color(x.map((function(t,e){return t.color||D(t,e)})).filter((function(t,e){return!x[e].disabled&&x[e].bar}))),u.width($).height(Y).color(x.map((function(t,e){return t.color||D(t,e)})).filter((function(t,e){return!x[e].disabled&&!x[e].bar})));var ot=et.select(".nv-context .nv-barsWrap").datum(X.length?X:[{values:[]}]),st=et.select(".nv-context .nv-linesWrap").datum(z(U)?[{values:[]}]:U.filter((function(t){return!t.disabled})));et.select(".nv-context").attr("transform","translate(0,"+(G+k.bottom+C.top)+")"),ot.transition().call(d),st.transition().call(u),O&&(p._ticks(e.utils.calcTicksX($/100,x)).tickSize(-Y,0),et.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+o.range()[0]+")"),et.select(".nv-context .nv-x.nv-axis").transition().call(p)),N&&(v.scale(o)._ticks(Y/36).tickSize(-$,0),m.scale(s)._ticks(Y/36).tickSize(X.length?0:-$,0),et.select(".nv-context .nv-y3.nv-axis").style("opacity",X.length?1:0).attr("transform","translate(0,"+r.range()[0]+")"),et.select(".nv-context .nv-y2.nv-axis").style("opacity",U.length?1:0).attr("transform","translate("+r.range()[1]+",0)"),et.select(".nv-context .nv-y1.nv-axis").transition().call(v),et.select(".nv-context .nv-y2.nv-axis").transition().call(m)),b.x(r).on("brush",dt),W&&b.extent(W);var lt=et.select(".nv-brushBackground").selectAll("g").data([W||b.extent()]),ut=lt.enter().append("g");ut.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",Y),ut.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",Y);var ct=et.select(".nv-x.nv-brush").call(b);function dt(){W=b.empty()?null:b.extent(),t=b.empty()?r.domain():b.extent(),B.brush({extent:t,brush:b}),b.empty()||b.extent(W),lt.data([b.empty()?r.domain():W]).each((function(t,e){var n=r(t[0])-r.range()[0],i=r.range()[1]-r(t[1]);d3.select(this).select(".left").attr("width",n<0?0:n),d3.select(this).select(".right").attr("x",r(t[1])).attr("width",i<0?0:i)})),c.width($).height(G).color(x.map((function(t,e){return t.color||D(t,e)})).filter((function(t,e){return!x[e].disabled&&x[e].bar}))),l.width($).height(G).color(x.map((function(t,e){return t.color||D(t,e)})).filter((function(t,e){return!x[e].disabled&&!x[e].bar})));var o=et.select(".nv-focus .nv-barsWrap").datum(X.length?X.map((function(e,n){return{key:e.key,values:e.values.filter((function(e,n){return c.x()(e,n)>=t[0]&&c.x()(e,n)<=t[1]}))}})):[{values:[]}]),s=et.select(".nv-focus .nv-linesWrap").datum(z(U)?[{values:[]}]:U.filter((function(t){return!t.disabled})).map((function(e,n){return{area:e.area,fillOpacity:e.fillOpacity,strokeWidth:e.strokeWidth,key:e.key,values:e.values.filter((function(e,n){return l.x()(e,n)>=t[0]&&l.x()(e,n)<=t[1]}))}})));n=X.length&&!H?c.xScale():l.xScale(),f.scale(n)._ticks(e.utils.calcTicksX($/100,x)).tickSize(-G,0),f.domain([Math.ceil(t[0]),Math.floor(t[1])]),et.select(".nv-x.nv-axis").transition().duration(R).call(f),o.transition().duration(R).call(c),s.transition().duration(R).call(l),et.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+i.range()[0]+")"),g.scale(i)._ticks(e.utils.calcTicksY(G/36,x)).tickSize(-$,0),h.scale(a)._ticks(e.utils.calcTicksY(G/36,x)),H?h.tickSize(U.length?0:-$,0):h.tickSize(X.length?0:-$,0);var u=X.length?1:0,d=U.length&&!z(U)?1:0,p=H?d:u,v=H?u:d;et.select(".nv-focus .nv-y1.nv-axis").style("opacity",p),et.select(".nv-focus .nv-y2.nv-axis").style("opacity",v).attr("transform","translate("+n.range()[1]+",0)"),et.select(".nv-focus .nv-y1.nv-axis").transition().duration(R).call(g),et.select(".nv-focus .nv-y2.nv-axis").transition().duration(R).call(h)}ct.selectAll("rect").attr("height",Y),ct.selectAll(".resize").append("path").attr("d",(function(t){var e=+("e"==t),n=e?1:-1,r=Y/3;return"M"+.5*n+","+r+"A6,6 0 0 "+e+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+e+" "+.5*n+","+2*r+"ZM"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)})),y.dispatch.on("stateChange",(function(t){for(var e in t)P[e]=t[e];B.stateChange(P),j.update()})),B.on("changeState",(function(t){void 0!==t.disabled&&(x.forEach((function(e,n){e.disabled=t.disabled[n]})),P.disabled=t.disabled),j.update()})),dt()})),j}return l.dispatch.on("elementMouseover.tooltip",(function(t){x.duration(100).valueFormatter((function(t,e){return(H?{main:g,focus:v}:{main:h,focus:m}).main.tickFormat()(t,e)})).data(t).hidden(!1)})),l.dispatch.on("elementMouseout.tooltip",(function(t){x.hidden(!0)})),c.dispatch.on("elementMouseover.tooltip",(function(t){t.value=j.x()(t.data),t.series={value:j.y()(t.data),color:t.color},x.duration(0).valueFormatter((function(t,e){return(H?{main:h,focus:m}:{main:g,focus:v}).main.tickFormat()(t,e)})).data(t).hidden(!1)})),c.dispatch.on("elementMouseout.tooltip",(function(t){x.hidden(!0)})),c.dispatch.on("elementMousemove.tooltip",(function(t){x()})),j.dispatch=B,j.legend=y,j.lines=l,j.lines2=u,j.bars=c,j.bars2=d,j.xAxis=f,j.x2Axis=p,j.y1Axis=g,j.y2Axis=h,j.y3Axis=v,j.y4Axis=m,j.tooltip=x,j.options=e.utils.optionsFunc.bind(j),j._options=Object.create({},{width:{get:function(){return M},set:function(t){M=t}},height:{get:function(){return A},set:function(t){A=t}},showLegend:{get:function(){return T},set:function(t){T=t}},brushExtent:{get:function(){return W},set:function(t){W=t}},noData:{get:function(){return L},set:function(t){L=t}},focusEnable:{get:function(){return F},set:function(t){F=t}},focusHeight:{get:function(){return _},set:function(t){_=t}},focusShowAxisX:{get:function(){return O},set:function(t){O=t}},focusShowAxisY:{get:function(){return N},set:function(t){N=t}},legendLeftAxisHint:{get:function(){return I},set:function(t){I=t}},legendRightAxisHint:{get:function(){return V},set:function(t){V=t}},margin:{get:function(){return k},set:function(t){void 0!==t.top&&(k.top=t.top,w=t.top),k.right=void 0!==t.right?t.right:k.right,k.bottom=void 0!==t.bottom?t.bottom:k.bottom,k.left=void 0!==t.left?t.left:k.left}},focusMargin:{get:function(){return C},set:function(t){C.top=void 0!==t.top?t.top:C.top,C.right=void 0!==t.right?t.right:C.right,C.bottom=void 0!==t.bottom?t.bottom:C.bottom,C.left=void 0!==t.left?t.left:C.left}},duration:{get:function(){return R},set:function(t){R=t}},color:{get:function(){return D},set:function(t){D=e.utils.getColor(t),y.color(D)}},x:{get:function(){return S},set:function(t){S=t,l.x(t),u.x(t),c.x(t),d.x(t)}},y:{get:function(){return E},set:function(t){E=t,l.y(t),u.y(t),c.y(t),d.y(t)}},switchYAxisOrder:{get:function(){return H},set:function(t){if(H!==t){var e=g;g=h,h=e;var n=v;v=m,m=n}H=t,g.orient("left"),h.orient("right"),v.orient("left"),m.orient("right")}}}),e.utils.inheritOptions(j,l),e.utils.initOptions(j),j},e.models.multiBar=function(){"use strict";var t,n,r,i,a,o,s,l={top:0,right:0,bottom:0,left:0},u=960,c=500,d=d3.scale.ordinal(),f=d3.scale.linear(),p=Math.floor(1e4*Math.random()),g=null,h=function(t){return t.x},v=function(t){return t.y},m=[0],y=!0,b=!1,x="zero",k=e.utils.defaultColor(),w=!1,C=null,M=500,A=.1,S=.75,E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),D=e.utils.renderWatch(E,M),T=0;function F(N){return D.reset(),N.each((function(F){var N=u-l.left-l.right,O=c-l.top-l.bottom;g=d3.select(this),e.utils.initSVG(g);var _=0;if(w&&F.length&&(w=[{values:F[0].values.map((function(t){return{x:t.x,y:0,series:t.series,size:.01}}))}]),b){var W=d3.layout.stack().offset(x).values((function(t){return t.values})).y(v)(!F.length&&w?w:F);W.forEach((function(t,e){t.nonStackable?(F[e].nonStackableSeries=_++,W[e]=F[e]):e>0&&W[e-1].nonStackable&&W[e].values.map((function(t,n){t.y0-=W[e-1].values[n].y,t.y1=t.y0+t.y}))})),F=W}F.forEach((function(t,e){t.values.forEach((function(n){n.series=e,n.key=t.key}))})),b&&F.length>0&&F[0].values.map((function(t,e){var n=0,r=0;F.map((function(t,i){if(!F[i].nonStackable){var a=t.values[e];a.size=Math.abs(a.y),a.y<0?(a.y1=r,r-=a.size):(a.y1=a.size+n,n+=a.size)}}))}));var L=n&&r?[]:F.map((function(t,e){return t.values.map((function(t,n){return{x:h(t,n),y:v(t,n),y0:t.y0,y1:t.y1,idx:e}}))}));d.domain(n||d3.merge(L).map((function(t){return t.x}))).rangeBands(i||[0,N],A),f.domain(r||d3.extent(d3.merge(L).map((function(t){var e=t.y;return b&&!F[t.idx].nonStackable&&(e=t.y>0?t.y1:t.y1+t.y),e})).concat(m))).range(a||[O,0]),d.domain()[0]===d.domain()[1]&&(d.domain()[0]?d.domain([d.domain()[0]-.01*d.domain()[0],d.domain()[1]+.01*d.domain()[1]]):d.domain([-1,1])),f.domain()[0]===f.domain()[1]&&(f.domain()[0]?f.domain([f.domain()[0]+.01*f.domain()[0],f.domain()[1]-.01*f.domain()[1]]):f.domain([-1,1])),o=o||d,s=s||f;var B=g.selectAll("g.nv-wrap.nv-multibar").data([F]),R=B.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),P=R.append("defs"),q=R.append("g"),I=B.select("g");q.append("g").attr("class","nv-groups"),B.attr("transform","translate("+l.left+","+l.top+")"),P.append("clipPath").attr("id","nv-edge-clip-"+p).append("rect"),B.select("#nv-edge-clip-"+p+" rect").attr("width",N).attr("height",O),I.attr("clip-path",y?"url(#nv-edge-clip-"+p+")":"");var V=B.select(".nv-groups").selectAll(".nv-group").data((function(t){return t}),(function(t,e){return e}));V.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var H=D.transition(V.exit().selectAll("rect.nv-bar"),"multibarExit",Math.min(100,M)).attr("y",(function(t,e,n){var r=s(0)||0;return b&&F[t.series]&&!F[t.series].nonStackable&&(r=s(t.y0)),r})).attr("height",0).remove();H.delay&&H.delay((function(t,e){return e*(M/(T+1))-e})),V.attr("class",(function(t,e){return"nv-group nv-series-"+e})).classed("hover",(function(t){return t.hover})).style("fill",(function(t,e){return k(t,e)})).style("stroke",(function(t,e){return k(t,e)})),V.style("stroke-opacity",1).style("fill-opacity",S);var z=V.selectAll("rect.nv-bar").data((function(t){return w&&!F.length?w.values:t.values}));z.exit().remove(),z.enter().append("rect").attr("class",(function(t,e){return v(t,e)<0?"nv-bar negative":"nv-bar positive"})).attr("x",(function(t,e,n){return b&&!F[n].nonStackable?0:n*d.rangeBand()/F.length})).attr("y",(function(t,e,n){return s(b&&!F[n].nonStackable?t.y0:0)||0})).attr("height",0).attr("width",(function(t,e,n){return d.rangeBand()/(b&&!F[n].nonStackable?1:F.length)})).attr("transform",(function(t,e){return"translate("+d(h(t,e))+",0)"})),z.style("fill",(function(t,e,n){return k(t,n,e)})).style("stroke",(function(t,e,n){return k(t,n,e)})).on("mouseover",(function(t,e,n){d3.select(this).classed("hover",!0),E.elementMouseover({data:t,index:e,series:F[n],color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e,n){d3.select(this).classed("hover",!1),E.elementMouseout({data:t,index:e,series:F[n],color:d3.select(this).style("fill")})})).on("mousemove",(function(t,e,n){E.elementMousemove({data:t,index:e,series:F[n],color:d3.select(this).style("fill")})})).on("click",(function(t,e,n){E.elementClick({data:t,index:e,series:F[n],color:d3.select(this).style("fill"),event:d3.event,element:this}),d3.event.stopPropagation()})).on("dblclick",(function(t,e,n){E.elementDblClick({data:t,index:e,series:F[n],color:d3.select(this).style("fill")}),d3.event.stopPropagation()})),z.attr("class",(function(t,e){return v(t,e)<0?"nv-bar negative":"nv-bar positive"})).attr("transform",(function(t,e){return"translate("+d(h(t,e))+",0)"})),C&&(t||(t=F.map((function(){return!0}))),z.style("fill",(function(e,n,r){return d3.rgb(C(e,n)).darker(t.map((function(t,e){return e})).filter((function(e,n){return!t[n]}))[r]).toString()})).style("stroke",(function(e,n,r){return d3.rgb(C(e,n)).darker(t.map((function(t,e){return e})).filter((function(e,n){return!t[n]}))[r]).toString()})));var j=z.watchTransition(D,"multibar",Math.min(250,M)).delay((function(t,e){return e*M/F[0].values.length}));b?j.attr("y",(function(t,e,n){return F[n].nonStackable?v(t,e)<0?f(0):f(0)-f(v(t,e))<-1?f(0)-1:f(v(t,e))||0:f(t.y1)})).attr("height",(function(t,e,n){return F[n].nonStackable?Math.max(Math.abs(f(v(t,e))-f(0)),0)||0:Math.max(Math.abs(f(t.y+t.y0)-f(t.y0)),0)})).attr("x",(function(t,e,n){var r=0;return F[n].nonStackable&&(r=t.series*d.rangeBand()/F.length,F.length!==_&&(r=F[n].nonStackableSeries*d.rangeBand()/(2*_))),r})).attr("width",(function(t,e,n){if(F[n].nonStackable){var r=d.rangeBand()/_;return F.length!==_&&(r=d.rangeBand()/(2*_)),r}return d.rangeBand()})):j.attr("x",(function(t,e){return t.series*d.rangeBand()/F.length})).attr("width",d.rangeBand()/F.length).attr("y",(function(t,e){return v(t,e)<0?f(0):f(0)-f(v(t,e))<1?f(0)-1:f(v(t,e))||0})).attr("height",(function(t,e){return Math.max(Math.abs(f(v(t,e))-f(0)),1)||0})),o=d.copy(),s=f.copy(),F[0]&&F[0].values&&(T=F[0].values.length)})),D.renderEnd("multibar immediate"),F}return F.dispatch=E,F.options=e.utils.optionsFunc.bind(F),F._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return c},set:function(t){c=t}},x:{get:function(){return h},set:function(t){h=t}},y:{get:function(){return v},set:function(t){v=t}},xScale:{get:function(){return d},set:function(t){d=t}},yScale:{get:function(){return f},set:function(t){f=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return i},set:function(t){i=t}},yRange:{get:function(){return a},set:function(t){a=t}},forceY:{get:function(){return m},set:function(t){m=t}},stacked:{get:function(){return b},set:function(t){b=t}},stackOffset:{get:function(){return x},set:function(t){x=t}},clipEdge:{get:function(){return y},set:function(t){y=t}},disabled:{get:function(){return t},set:function(e){t=e}},id:{get:function(){return p},set:function(t){p=t}},hideable:{get:function(){return w},set:function(t){w=t}},groupSpacing:{get:function(){return A},set:function(t){A=t}},fillOpacity:{get:function(){return S},set:function(t){S=t}},margin:{get:function(){return l},set:function(t){l.top=void 0!==t.top?t.top:l.top,l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},duration:{get:function(){return M},set:function(t){M=t,D.reset(M)}},color:{get:function(){return k},set:function(t){k=e.utils.getColor(t)}},barColor:{get:function(){return C},set:function(t){C=t?e.utils.getColor(t):null}}}),e.utils.initOptions(F),F},e.models.multiBarChart=function(){"use strict";var t,n,r=e.models.multiBar(),i=e.models.axis(),a=e.models.axis(),o=e.interactiveGuideline(),s=e.models.legend(),l=e.models.legend(),u=e.models.tooltip(),c={top:30,right:20,bottom:50,left:60},d=null,f=null,p=null,g=e.utils.defaultColor(),h=!0,v={},m=!0,y=null,b=!0,x=!0,k=!1,w=!0,C=!1,M=!1,A=0,S=e.utils.state(),E=null,D=null,T=d3.dispatch("stateChange","changeState","renderEnd"),F=function(){return h?180:0},N=250,O=!1;S.stacked=!1,r.stacked(!1),i.orient("bottom").tickPadding(7).showMaxMin(!1).tickFormat((function(t){return t})),a.orient(k?"right":"left").tickFormat(d3.format(",.1f")),u.duration(0).valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),o.tooltip.valueFormatter((function(t,e){return null==t?"N/A":a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),o.tooltip.valueFormatter((function(t,e){return null==t?"N/A":a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),o.tooltip.duration(0).valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),l.updateState(!1);var _=e.utils.renderWatch(T),W=!1;function L(D){return _.reset(),_.models(r),b&&_.models(i),x&&_.models(a),D.each((function(D){var _=d3.select(this);e.utils.initSVG(_);var B,R=e.utils.availableWidth(f,_,c),P=e.utils.availableHeight(p,_,c);if(L.update=function(){0===N?_.call(L):_.transition().duration(N).call(L)},L.container=this,S.setter(function(t){return function(e){void 0!==e.stacked&&(W=e.stacked),void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(D),L.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled})),stacked:W}}}(D)).update(),S.disabled=D.map((function(t){return!!t.disabled})),!E)for(B in E={},S)S[B]instanceof Array?E[B]=S[B].slice(0):E[B]=S[B];if(!(D&&D.length&&D.filter((function(t){return t.values.length})).length))return e.utils.noData(L,_),L;_.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale();var q=_.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([D]),I=q.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),V=q.select("g");if(I.append("g").attr("class","nv-x nv-axis"),I.append("g").attr("class","nv-y nv-axis"),I.append("g").attr("class","nv-barsWrap"),I.append("g").attr("class","nv-legendWrap"),I.append("g").attr("class","nv-controlsWrap"),I.append("g").attr("class","nv-interactive"),m?"bottom"===y?(s.width(R-c.right),V.select(".nv-legendWrap").datum(D).call(s),c.bottom=i.height()+s.height(),P=e.utils.availableHeight(p,_,c),V.select(".nv-legendWrap").attr("transform","translate(0,"+(P+i.height())+")")):(s.width(R-F()),V.select(".nv-legendWrap").datum(D).call(s),d||s.height()===c.top||(c.top=s.height(),P=e.utils.availableHeight(p,_,c)),V.select(".nv-legendWrap").attr("transform","translate("+F()+","+-c.top+")")):V.select(".nv-legendWrap").selectAll("*").remove(),h){var H=[{key:v.grouped||"Grouped",disabled:r.stacked()},{key:v.stacked||"Stacked",disabled:!r.stacked()}];l.width(F()).color(["#444","#444","#444"]),V.select(".nv-controlsWrap").datum(H).attr("transform","translate(0,"+-c.top+")").call(l)}else V.select(".nv-controlsWrap").selectAll("*").remove();if(q.attr("transform","translate("+c.left+","+c.top+")"),k&&V.select(".nv-y.nv-axis").attr("transform","translate("+R+",0)"),r.disabled(D.map((function(t){return t.disabled}))).width(R).height(P).color(D.map((function(t,e){return t.color||g(t,e)})).filter((function(t,e){return!D[e].disabled}))),V.select(".nv-barsWrap").datum(D.filter((function(t){return!t.disabled}))).call(r),b){i.scale(t)._ticks(e.utils.calcTicksX(R/100,D)).tickSize(-P,0),V.select(".nv-x.nv-axis").attr("transform","translate(0,"+n.range()[0]+")"),V.select(".nv-x.nv-axis").call(i);var z=V.select(".nv-x.nv-axis > g").selectAll("g");if(z.selectAll("line, text").style("opacity",1),C){var j=function(t,e){return"translate("+t+","+e+")"};z.selectAll("text").attr("transform",(function(t,e,n){return j(0,n%2==0?5:17)}));var Q=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;V.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",(function(t,e){return j(0,0===e||Q%2!=0?17:5)}))}M&&V.selectAll(".tick text").call(e.utils.wrapTicks,L.xAxis.rangeBand()),w&&z.filter((function(t,e){return e%Math.ceil(D[0].values.length/(R/100))!=0})).selectAll("text, line").style("opacity",0),A&&z.selectAll(".tick text").attr("transform","rotate("+A+" 0,0)").style("text-anchor",A>0?"start":"end"),V.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}x&&(a.scale(n)._ticks(e.utils.calcTicksY(P/36,D)).tickSize(-R,0),V.select(".nv-y.nv-axis").call(a)),O&&(o.width(R).height(P).margin({left:c.left,top:c.top}).svgContainer(_).xScale(t),q.select(".nv-interactive").call(o)),s.dispatch.on("stateChange",(function(t){for(var e in t)S[e]=t[e];T.stateChange(S),L.update()})),l.dispatch.on("legendClick",(function(t,e){if(t.disabled){switch(H=H.map((function(t){return t.disabled=!0,t})),t.disabled=!1,t.key){case"Grouped":case v.grouped:r.stacked(!1);break;case"Stacked":case v.stacked:r.stacked(!0)}S.stacked=r.stacked(),T.stateChange(S),L.update()}})),T.on("changeState",(function(t){void 0!==t.disabled&&(D.forEach((function(e,n){e.disabled=t.disabled[n]})),S.disabled=t.disabled),void 0!==t.stacked&&(r.stacked(t.stacked),S.stacked=t.stacked,W=t.stacked),L.update()})),O?(o.dispatch.on("elementMousemove",(function(e){if(null!=e.pointXValue){var n,r,i,a,s=[];D.filter((function(t,e){return t.seriesIndex=e,!t.disabled})).forEach((function(o,l){r=t.domain().indexOf(e.pointXValue);var u=o.values[r];void 0!==u&&(a=u.x,void 0===n&&(n=u),void 0===i&&(i=e.mouseX),s.push({key:o.key,value:L.y()(u,r),color:g(o,o.seriesIndex),data:o.values[r]}))})),o.tooltip.data({value:a,index:r,series:s})(),o.renderGuideLine(i)}})),o.dispatch.on("elementMouseout",(function(t){o.tooltip.hidden(!0)}))):(r.dispatch.on("elementMouseover.tooltip",(function(t){t.value=L.x()(t.data),t.series={key:t.data.key,value:L.y()(t.data),color:t.color},u.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){u.hidden(!0)})),r.dispatch.on("elementMousemove.tooltip",(function(t){u()})))})),_.renderEnd("multibarchart immediate"),L}return L.dispatch=T,L.multibar=r,L.legend=s,L.controls=l,L.xAxis=i,L.yAxis=a,L.state=S,L.tooltip=u,L.interactiveLayer=o,L.options=e.utils.optionsFunc.bind(L),L._options=Object.create({},{width:{get:function(){return f},set:function(t){f=t}},height:{get:function(){return p},set:function(t){p=t}},showLegend:{get:function(){return m},set:function(t){m=t}},legendPosition:{get:function(){return y},set:function(t){y=t}},showControls:{get:function(){return h},set:function(t){h=t}},controlLabels:{get:function(){return v},set:function(t){v=t}},showXAxis:{get:function(){return b},set:function(t){b=t}},showYAxis:{get:function(){return x},set:function(t){x=t}},defaultState:{get:function(){return E},set:function(t){E=t}},noData:{get:function(){return D},set:function(t){D=t}},reduceXTicks:{get:function(){return w},set:function(t){w=t}},rotateLabels:{get:function(){return A},set:function(t){A=t}},staggerLabels:{get:function(){return C},set:function(t){C=t}},wrapLabels:{get:function(){return M},set:function(t){M=!!t}},margin:{get:function(){return c},set:function(t){void 0!==t.top&&(c.top=t.top,d=t.top),c.right=void 0!==t.right?t.right:c.right,c.bottom=void 0!==t.bottom?t.bottom:c.bottom,c.left=void 0!==t.left?t.left:c.left}},duration:{get:function(){return N},set:function(t){N=t,r.duration(N),i.duration(N),a.duration(N),_.reset(N)}},color:{get:function(){return g},set:function(t){g=e.utils.getColor(t),s.color(g)}},rightAlignYAxis:{get:function(){return k},set:function(t){k=t,a.orient(k?"right":"left")}},useInteractiveGuideline:{get:function(){return O},set:function(t){O=t}},barColor:{get:function(){return r.barColor},set:function(t){r.barColor(t),s.color((function(t,e){return d3.rgb("#ccc").darker(1.5*e).toString()}))}}}),e.utils.inheritOptions(L,r),e.utils.initOptions(L),L},e.models.multiBarHorizontal=function(){"use strict";var t,n,r,i,a,o,s,l={top:0,right:0,bottom:0,left:0},u=960,c=500,d=Math.floor(1e4*Math.random()),f=null,p=d3.scale.ordinal(),g=d3.scale.linear(),h=function(t){return t.x},v=function(t){return t.y},m=function(t){return t.yErr},y=[0],b=e.utils.defaultColor(),x=null,k=!1,w=!1,C=60,M=.1,A=.75,S=d3.format(",.2f"),E=250,D=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),T=e.utils.renderWatch(D,E);function F(d){return T.reset(),d.each((function(d){var E=u-l.left-l.right,F=c-l.top-l.bottom;f=d3.select(this),e.utils.initSVG(f),k&&(d=d3.layout.stack().offset("zero").values((function(t){return t.values})).y(v)(d)),d.forEach((function(t,e){t.values.forEach((function(n){n.series=e,n.key=t.key}))})),k&&d[0].values.map((function(t,e){var n=0,r=0;d.map((function(t){var i=t.values[e];i.size=Math.abs(i.y),i.y<0?(i.y1=r-i.size,r-=i.size):(i.y1=n,n+=i.size)}))}));var N=n&&r?[]:d.map((function(t){return t.values.map((function(t,e){return{x:h(t,e),y:v(t,e),y0:t.y0,y1:t.y1}}))}));p.domain(n||d3.merge(N).map((function(t){return t.x}))).rangeBands(i||[0,F],M),g.domain(r||d3.extent(d3.merge(N).map((function(t){return k?t.y>0?t.y1+t.y:t.y1:t.y})).concat(y))),w&&!k?g.range(a||[g.domain()[0]<0?C:0,E-(g.domain()[1]>0?C:0)]):g.range(a||[0,E]),o=o||p,s=s||d3.scale.linear().domain(g.domain()).range([g(0),g(0)]);var O=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([d]),_=O.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),W=(_.append("defs"),_.append("g"));O.select("g"),W.append("g").attr("class","nv-groups"),O.attr("transform","translate("+l.left+","+l.top+")");var L=O.select(".nv-groups").selectAll(".nv-group").data((function(t){return t}),(function(t,e){return e}));L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),L.exit().watchTransition(T,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),L.attr("class",(function(t,e){return"nv-group nv-series-"+e})).classed("hover",(function(t){return t.hover})).style("fill",(function(t,e){return b(t,e)})).style("stroke",(function(t,e){return b(t,e)})),L.watchTransition(T,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",A);var B=L.selectAll("g.nv-bar").data((function(t){return t.values}));B.exit().remove();var R=B.enter().append("g").attr("transform",(function(t,e,n){return"translate("+s(k?t.y0:0)+","+(k?0:n*p.rangeBand()/d.length+p(h(t,e)))+")"}));R.append("rect").attr("width",0).attr("height",p.rangeBand()/(k?1:d.length)),B.on("mouseover",(function(t,e){d3.select(this).classed("hover",!0),D.elementMouseover({data:t,index:e,color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){d3.select(this).classed("hover",!1),D.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})})).on("mouseout",(function(t,e){D.elementMouseout({data:t,index:e,color:d3.select(this).style("fill")})})).on("mousemove",(function(t,e){D.elementMousemove({data:t,index:e,color:d3.select(this).style("fill")})})).on("click",(function(t,e){D.elementClick({data:t,index:e,color:d3.select(this).style("fill"),event:d3.event,element:this}),d3.event.stopPropagation()})).on("dblclick",(function(t,e){D.elementDblClick({data:t,index:e,color:d3.select(this).style("fill")}),d3.event.stopPropagation()})),m(d[0],0)&&(R.append("polyline"),B.select("polyline").attr("fill","none").attr("points",(function(t,e){var n=m(t,e),r=.8*p.rangeBand()/(2*(k?1:d.length));return[[(n=(n=n.length?n:[-Math.abs(n),Math.abs(n)]).map((function(n){return g(n+(v(t,e)<0?0:v(t,e)))-g(0)})))[0],-r],[n[0],r],[n[0],0],[n[1],0],[n[1],-r],[n[1],r]].map((function(t){return t.join(",")})).join(" ")})).attr("transform",(function(t,e){return"translate(0, "+p.rangeBand()/(2*(k?1:d.length))+")"}))),R.append("text"),w&&!k?(B.select("text").attr("text-anchor",(function(t,e){return v(t,e)<0?"end":"start"})).attr("y",p.rangeBand()/(2*d.length)).attr("dy",".32em").text((function(t,e){var n=S(v(t,e)),r=m(t,e);return void 0===r?n:r.length?n+"+"+S(Math.abs(r[1]))+"-"+S(Math.abs(r[0])):n+"±"+S(Math.abs(r))})),B.watchTransition(T,"multibarhorizontal: bars").select("text").attr("x",(function(t,e){return v(t,e)<0?-4:g(v(t,e))-g(0)+4}))):B.selectAll("text").text(""),B.selectAll("text.nv-bar-label").text(""),B.attr("class",(function(t,e){return v(t,e)<0?"nv-bar negative":"nv-bar positive"})),x&&(t||(t=d.map((function(){return!0}))),B.style("fill",(function(e,n,r){return d3.rgb(x(e,n)).darker(t.map((function(t,e){return e})).filter((function(e,n){return!t[n]}))[r]).toString()})).style("stroke",(function(e,n,r){return d3.rgb(x(e,n)).darker(t.map((function(t,e){return e})).filter((function(e,n){return!t[n]}))[r]).toString()}))),k?B.watchTransition(T,"multibarhorizontal: bars").attr("transform",(function(t,e){return"translate("+g(t.y1)+","+p(h(t,e))+")"})).select("rect").attr("width",(function(t,e){return Math.abs(g(v(t,e)+t.y0)-g(t.y0))||0})).attr("height",p.rangeBand()):B.watchTransition(T,"multibarhorizontal: bars").attr("transform",(function(t,e){return"translate("+(v(t,e)<0?g(v(t,e)):g(0))+","+(t.series*p.rangeBand()/d.length+p(h(t,e)))+")"})).select("rect").attr("height",p.rangeBand()/d.length).attr("width",(function(t,e){return Math.max(Math.abs(g(v(t,e))-g(0)),1)||0})),o=p.copy(),s=g.copy()})),T.renderEnd("multibarHorizontal immediate"),F}return F.dispatch=D,F.options=e.utils.optionsFunc.bind(F),F._options=Object.create({},{width:{get:function(){return u},set:function(t){u=t}},height:{get:function(){return c},set:function(t){c=t}},x:{get:function(){return h},set:function(t){h=t}},y:{get:function(){return v},set:function(t){v=t}},yErr:{get:function(){return m},set:function(t){m=t}},xScale:{get:function(){return p},set:function(t){p=t}},yScale:{get:function(){return g},set:function(t){g=t}},xDomain:{get:function(){return n},set:function(t){n=t}},yDomain:{get:function(){return r},set:function(t){r=t}},xRange:{get:function(){return i},set:function(t){i=t}},yRange:{get:function(){return a},set:function(t){a=t}},forceY:{get:function(){return y},set:function(t){y=t}},stacked:{get:function(){return k},set:function(t){k=t}},showValues:{get:function(){return w},set:function(t){w=t}},disabled:{get:function(){return t},set:function(e){t=e}},id:{get:function(){return d},set:function(t){d=t}},valueFormat:{get:function(){return S},set:function(t){S=t}},valuePadding:{get:function(){return C},set:function(t){C=t}},groupSpacing:{get:function(){return M},set:function(t){M=t}},fillOpacity:{get:function(){return A},set:function(t){A=t}},margin:{get:function(){return l},set:function(t){l.top=void 0!==t.top?t.top:l.top,l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},duration:{get:function(){return E},set:function(t){E=t,T.reset(E)}},color:{get:function(){return b},set:function(t){b=e.utils.getColor(t)}},barColor:{get:function(){return x},set:function(t){x=t?e.utils.getColor(t):null}}}),e.utils.initOptions(F),F},e.models.multiBarHorizontalChart=function(){"use strict";var t,n,r=e.models.multiBarHorizontal(),i=e.models.axis(),a=e.models.axis(),o=e.models.legend().height(30),s=e.models.legend().height(30),l=e.models.tooltip(),u={top:30,right:20,bottom:50,left:60},c=null,d=null,f=null,p=e.utils.defaultColor(),g=!0,h="top",v={},m=!0,y="top",b=!0,x=!0,k=!1,w=e.utils.state(),C=null,M=null,A=d3.dispatch("stateChange","changeState","renderEnd"),S=function(){return g?180:0},E=250;w.stacked=!1,r.stacked(k),i.orient("left").tickPadding(5).showMaxMin(!1).tickFormat((function(t){return t})),a.orient("bottom").tickFormat(d3.format(",.1f")),l.duration(0).valueFormatter((function(t,e){return a.tickFormat()(t,e)})).headerFormatter((function(t,e){return i.tickFormat()(t,e)})),s.updateState(!1);var D=e.utils.renderWatch(A,E);function T(l){return D.reset(),D.models(r),b&&D.models(i),x&&D.models(a),l.each((function(l){var M=d3.select(this);e.utils.initSVG(M);var D,F=e.utils.availableWidth(d,M,u),N=e.utils.availableHeight(f,M,u);if(T.update=function(){M.transition().duration(E).call(T)},T.container=this,k=r.stacked(),w.setter(function(t){return function(e){void 0!==e.stacked&&(k=e.stacked),void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(l),T.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled})),stacked:k}}}(l)).update(),w.disabled=l.map((function(t){return!!t.disabled})),!C)for(D in C={},w)w[D]instanceof Array?C[D]=w[D].slice(0):C[D]=w[D];if(!(l&&l.length&&l.filter((function(t){return t.values.length})).length))return e.utils.noData(T,M),T;M.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale().clamp(!0);var O=M.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([l]),_=O.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),W=O.select("g");if(_.append("g").attr("class","nv-x nv-axis"),_.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),_.append("g").attr("class","nv-barsWrap"),_.append("g").attr("class","nv-legendWrap"),_.append("g").attr("class","nv-controlsWrap"),m?(o.width(F-S()),W.select(".nv-legendWrap").datum(l).call(o),"bottom"===y?(u.bottom=i.height()+o.height(),N=e.utils.availableHeight(f,M,u),W.select(".nv-legendWrap").attr("transform","translate("+S()+","+(N+i.height())+")")):"top"===y&&(c||o.height()===u.top||(u.top=o.height(),N=e.utils.availableHeight(f,M,u)),W.select(".nv-legendWrap").attr("transform","translate("+S()+","+-u.top+")"))):W.select(".nv-legendWrap").selectAll("*").remove(),g){var L=[{key:v.grouped||"Grouped",disabled:r.stacked()},{key:v.stacked||"Stacked",disabled:!r.stacked()}];s.width(S()).color(["#444","#444","#444"]),"bottom"===h?(u.bottom=i.height()+o.height(),N=e.utils.availableHeight(f,M,u),W.select(".nv-controlsWrap").datum(L).attr("transform","translate(0,"+(N+i.height())+")").call(s)):"top"===h&&W.select(".nv-controlsWrap").datum(L).attr("transform","translate(0,"+-u.top+")").call(s)}else W.select(".nv-controlsWrap").selectAll("*").remove();O.attr("transform","translate("+u.left+","+u.top+")"),r.disabled(l.map((function(t){return t.disabled}))).width(F).height(N).color(l.map((function(t,e){return t.color||p(t,e)})).filter((function(t,e){return!l[e].disabled}))),W.select(".nv-barsWrap").datum(l.filter((function(t){return!t.disabled}))).transition().call(r),b&&(i.scale(t)._ticks(e.utils.calcTicksY(N/24,l)).tickSize(-F,0),W.select(".nv-x.nv-axis").call(i),W.select(".nv-x.nv-axis").selectAll("g").selectAll("line, text")),x&&(a.scale(n)._ticks(e.utils.calcTicksX(F/100,l)).tickSize(-N,0),W.select(".nv-y.nv-axis").attr("transform","translate(0,"+N+")"),W.select(".nv-y.nv-axis").call(a)),W.select(".nv-zeroLine line").attr("x1",n(0)).attr("x2",n(0)).attr("y1",0).attr("y2",-N),o.dispatch.on("stateChange",(function(t){for(var e in t)w[e]=t[e];A.stateChange(w),T.update()})),s.dispatch.on("legendClick",(function(t,e){if(t.disabled){switch(L=L.map((function(t){return t.disabled=!0,t})),t.disabled=!1,t.key){case"Grouped":case v.grouped:r.stacked(!1);break;case"Stacked":case v.stacked:r.stacked(!0)}w.stacked=r.stacked(),A.stateChange(w),k=r.stacked(),T.update()}})),A.on("changeState",(function(t){void 0!==t.disabled&&(l.forEach((function(e,n){e.disabled=t.disabled[n]})),w.disabled=t.disabled),void 0!==t.stacked&&(r.stacked(t.stacked),w.stacked=t.stacked,k=t.stacked),T.update()}))})),D.renderEnd("multibar horizontal chart immediate"),T}return r.dispatch.on("elementMouseover.tooltip",(function(t){t.value=T.x()(t.data),t.series={key:t.data.key,value:T.y()(t.data),color:t.color},l.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){l.hidden(!0)})),r.dispatch.on("elementMousemove.tooltip",(function(t){l()})),T.dispatch=A,T.multibar=r,T.legend=o,T.controls=s,T.xAxis=i,T.yAxis=a,T.state=w,T.tooltip=l,T.options=e.utils.optionsFunc.bind(T),T._options=Object.create({},{width:{get:function(){return d},set:function(t){d=t}},height:{get:function(){return f},set:function(t){f=t}},showLegend:{get:function(){return m},set:function(t){m=t}},legendPosition:{get:function(){return y},set:function(t){y=t}},controlsPosition:{get:function(){return h},set:function(t){h=t}},showControls:{get:function(){return g},set:function(t){g=t}},controlLabels:{get:function(){return v},set:function(t){v=t}},showXAxis:{get:function(){return b},set:function(t){b=t}},showYAxis:{get:function(){return x},set:function(t){x=t}},defaultState:{get:function(){return C},set:function(t){C=t}},noData:{get:function(){return M},set:function(t){M=t}},margin:{get:function(){return u},set:function(t){void 0!==t.top&&(u.top=t.top,c=t.top),u.right=void 0!==t.right?t.right:u.right,u.bottom=void 0!==t.bottom?t.bottom:u.bottom,u.left=void 0!==t.left?t.left:u.left}},duration:{get:function(){return E},set:function(t){E=t,D.reset(E),r.duration(E),i.duration(E),a.duration(E)}},color:{get:function(){return p},set:function(t){p=e.utils.getColor(t),o.color(p)}},barColor:{get:function(){return r.barColor},set:function(t){r.barColor(t),o.color((function(t,e){return d3.rgb("#ccc").darker(1.5*e).toString()}))}}}),e.utils.inheritOptions(T,r),e.utils.initOptions(T),T},e.models.multiChart=function(){"use strict";var t,n,r={top:30,right:20,bottom:50,left:60},i=null,a=e.utils.defaultColor(),o=null,s=null,l=!0,u=null,c=function(t){return t.x},d=function(t){return t.y},f="linear",p=!0,g=e.interactiveGuideline(),h=!1,v=" (right axis)",m=250,y=d3.scale.linear(),b=d3.scale.linear(),x=d3.scale.linear(),k=e.models.line().yScale(b).duration(m),w=e.models.line().yScale(x).duration(m),C=e.models.scatter().yScale(b).duration(m),M=e.models.scatter().yScale(x).duration(m),A=e.models.multiBar().stacked(!1).yScale(b).duration(m),S=e.models.multiBar().stacked(!1).yScale(x).duration(m),E=e.models.stackedArea().yScale(b).duration(m),D=e.models.stackedArea().yScale(x).duration(m),T=e.models.axis().scale(y).orient("bottom").tickPadding(5).duration(m),F=e.models.axis().scale(b).orient("left").duration(m),N=e.models.axis().scale(x).orient("right").duration(m),O=e.models.legend().height(30),_=e.models.tooltip(),W=d3.dispatch(),L=[k,w,C,M,A,S,E,D];function B(u){return u.each((function(u){var p=d3.select(this);e.utils.initSVG(p),B.update=function(){p.transition().call(B)},B.container=this;var m=e.utils.availableWidth(o,p,r),W=e.utils.availableHeight(s,p,r),R=u.filter((function(t){return"line"==t.type&&1==t.yAxis})),P=u.filter((function(t){return"line"==t.type&&2==t.yAxis})),q=u.filter((function(t){return"scatter"==t.type&&1==t.yAxis})),I=u.filter((function(t){return"scatter"==t.type&&2==t.yAxis})),V=u.filter((function(t){return"bar"==t.type&&1==t.yAxis})),H=u.filter((function(t){return"bar"==t.type&&2==t.yAxis})),z=u.filter((function(t){return"area"==t.type&&1==t.yAxis})),j=u.filter((function(t){return"area"==t.type&&2==t.yAxis}));if(!(u&&u.length&&u.filter((function(t){return t.values.length})).length))return e.utils.noData(B,p),B;p.selectAll(".nv-noData").remove();var Q=u.filter((function(t){return!t.disabled&&1==t.yAxis})).map((function(t){return t.values.map((function(t,e){return{x:c(t),y:d(t)}}))})),$=u.filter((function(t){return!t.disabled&&2==t.yAxis})).map((function(t){return t.values.map((function(t,e){return{x:c(t),y:d(t)}}))}));y.domain(d3.extent(d3.merge(Q.concat($)),(function(t){return t.x}))).range([0,m]);var G=p.selectAll("g.wrap.multiChart").data([u]),Y=G.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");Y.append("g").attr("class","nv-x nv-axis"),Y.append("g").attr("class","nv-y1 nv-axis"),Y.append("g").attr("class","nv-y2 nv-axis"),Y.append("g").attr("class","stack1Wrap"),Y.append("g").attr("class","stack2Wrap"),Y.append("g").attr("class","bars1Wrap"),Y.append("g").attr("class","bars2Wrap"),Y.append("g").attr("class","scatters1Wrap"),Y.append("g").attr("class","scatters2Wrap"),Y.append("g").attr("class","lines1Wrap"),Y.append("g").attr("class","lines2Wrap"),Y.append("g").attr("class","legendWrap"),Y.append("g").attr("class","nv-interactive");var X=G.select("g"),U=u.map((function(t,e){return u[e].color||a(t,e)}));if(l){var Z=O.align()?m/2:m,K=O.align()?Z:0;O.width(Z),O.color(U),X.select(".legendWrap").datum(u.map((function(t){return t.originalKey=void 0===t.originalKey?t.key:t.originalKey,t.key=t.originalKey+(1==t.yAxis?"":v),t}))).call(O),i||O.height()===r.top||(r.top=O.height(),W=e.utils.availableHeight(s,p,r)),X.select(".legendWrap").attr("transform","translate("+K+","+-r.top+")")}else X.select(".legendWrap").selectAll("*").remove();k.width(m).height(W).interpolate(f).color(U.filter((function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"line"==u[e].type}))),w.width(m).height(W).interpolate(f).color(U.filter((function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"line"==u[e].type}))),C.width(m).height(W).color(U.filter((function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"scatter"==u[e].type}))),M.width(m).height(W).color(U.filter((function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"scatter"==u[e].type}))),A.width(m).height(W).color(U.filter((function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"bar"==u[e].type}))),S.width(m).height(W).color(U.filter((function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"bar"==u[e].type}))),E.width(m).height(W).interpolate(f).color(U.filter((function(t,e){return!u[e].disabled&&1==u[e].yAxis&&"area"==u[e].type}))),D.width(m).height(W).interpolate(f).color(U.filter((function(t,e){return!u[e].disabled&&2==u[e].yAxis&&"area"==u[e].type}))),X.attr("transform","translate("+r.left+","+r.top+")");var J=X.select(".lines1Wrap").datum(R.filter((function(t){return!t.disabled}))),tt=X.select(".scatters1Wrap").datum(q.filter((function(t){return!t.disabled}))),et=X.select(".bars1Wrap").datum(V.filter((function(t){return!t.disabled}))),nt=X.select(".stack1Wrap").datum(z.filter((function(t){return!t.disabled}))),rt=X.select(".lines2Wrap").datum(P.filter((function(t){return!t.disabled}))),it=X.select(".scatters2Wrap").datum(I.filter((function(t){return!t.disabled}))),at=X.select(".bars2Wrap").datum(H.filter((function(t){return!t.disabled}))),ot=X.select(".stack2Wrap").datum(j.filter((function(t){return!t.disabled}))),st=[];A.stacked()&&V.length&&(st=V.filter((function(t){return!t.disabled})).map((function(t){return t.values}))).length>0&&(st=st.reduce((function(t,e){return t.map((function(t,n){return{x:t.x,y:t.y+e[n].y}}))}))),V.length&&st.push({x:0,y:0});var lt=[];function ut(t){var e=2===t.series.yAxis?N:F;t.value=t.point.x,t.series={value:t.point.y,color:t.point.color,key:t.series.key},_.duration(0).headerFormatter((function(t,e){return T.tickFormat()(t,e)})).valueFormatter((function(t,n){return e.tickFormat()(t,n)})).data(t).hidden(!1)}function ct(t){var e=2===t.series.yAxis?N:F;t.value=t.point.x,t.series={value:t.point.y,color:t.point.color,key:t.series.key},_.duration(100).headerFormatter((function(t,e){return T.tickFormat()(t,e)})).valueFormatter((function(t,n){return e.tickFormat()(t,n)})).data(t).hidden(!1)}function dt(t){var e=2===t.series.yAxis?N:F;t.point.x=E.x()(t.point),t.point.y=E.y()(t.point),_.duration(0).headerFormatter((function(t,e){return T.tickFormat()(t,e)})).valueFormatter((function(t,n){return e.tickFormat()(t,n)})).data(t).hidden(!1)}function ft(t){var e=2===t.series.yAxis?N:F;t.value=A.x()(t.data),t.series={value:A.y()(t.data),color:t.color,key:t.data.key},_.duration(0).headerFormatter((function(t,e){return T.tickFormat()(t,e)})).valueFormatter((function(t,n){return e.tickFormat()(t,n)})).data(t).hidden(!1)}function pt(){for(var t=0,e=L.length;t<e;t++){var n=L[t];try{n.clearHighlights()}catch(t){}}}S.stacked()&&H.length&&(lt=H.filter((function(t){return!t.disabled})).map((function(t){return t.values}))).length>0&&(lt=lt.reduce((function(t,e){return t.map((function(t,n){return{x:t.x,y:t.y+e[n].y}}))}))),H.length&&lt.push({x:0,y:0}),b.domain(t||d3.extent(d3.merge(Q).concat(st),(function(t){return t.y}))).range([0,W]),x.domain(n||d3.extent(d3.merge($).concat(lt),(function(t){return t.y}))).range([0,W]),k.yDomain(b.domain()),C.yDomain(b.domain()),A.yDomain(b.domain()),E.yDomain(b.domain()),w.yDomain(x.domain()),M.yDomain(x.domain()),S.yDomain(x.domain()),D.yDomain(x.domain()),z.length&&d3.transition(nt).call(E),j.length&&d3.transition(ot).call(D),V.length&&d3.transition(et).call(A),H.length&&d3.transition(at).call(S),R.length&&d3.transition(J).call(k),P.length&&d3.transition(rt).call(w),q.length&&d3.transition(tt).call(C),I.length&&d3.transition(it).call(M),T._ticks(e.utils.calcTicksX(m/100,u)).tickSize(-W,0),X.select(".nv-x.nv-axis").attr("transform","translate(0,"+W+")"),d3.transition(X.select(".nv-x.nv-axis")).call(T),F._ticks(e.utils.calcTicksY(W/36,u)).tickSize(-m,0),d3.transition(X.select(".nv-y1.nv-axis")).call(F),N._ticks(e.utils.calcTicksY(W/36,u)).tickSize(-m,0),d3.transition(X.select(".nv-y2.nv-axis")).call(N),X.select(".nv-y1.nv-axis").classed("nv-disabled",!Q.length).attr("transform","translate("+y.range()[0]+",0)"),X.select(".nv-y2.nv-axis").classed("nv-disabled",!$.length).attr("transform","translate("+y.range()[1]+",0)"),O.dispatch.on("stateChange",(function(t){B.update()})),h&&(g.width(m).height(W).margin({left:r.left,top:r.top}).svgContainer(p).xScale(y),G.select(".nv-interactive").call(g)),h?(g.dispatch.on("elementMousemove",(function(t){pt();var n,r,i,o=[];u.filter((function(t,e){return t.seriesIndex=e,!t.disabled})).forEach((function(s,l){var u=y.domain(),c=s.values.filter((function(t,e){return B.x()(t,e)>=u[0]&&B.x()(t,e)<=u[1]})),d=c[r=e.interactiveBisect(c,t.pointXValue,B.x())],f=B.y()(d,r);null!==f&&function(t,e,n){for(var r=0,i=L.length;r<i;r++){var a=L[r];try{a.highlightPoint(t,e,n)}catch(t){}}}(l,r,!0),void 0!==d&&(void 0===n&&(n=d),void 0===i&&(i=y(B.x()(d,r))),o.push({key:s.key,value:f,color:a(s,s.seriesIndex),data:d,yAxis:2==s.yAxis?N:F}))})),g.tooltip.headerFormatter((function(t,e){return T.tickFormat()(t,e)})).valueFormatter(g.tooltip.valueFormatter()||function(t,e){var n=o[e].yAxis;return null==t?"N/A":n.tickFormat()(t)}).data({value:B.x()(n,r),index:r,series:o})(),g.renderGuideLine(i)})),g.dispatch.on("elementMouseout",(function(t){pt()}))):(k.dispatch.on("elementMouseover.tooltip",ut),w.dispatch.on("elementMouseover.tooltip",ut),k.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),w.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),C.dispatch.on("elementMouseover.tooltip",ct),M.dispatch.on("elementMouseover.tooltip",ct),C.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),M.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),E.dispatch.on("elementMouseover.tooltip",dt),D.dispatch.on("elementMouseover.tooltip",dt),E.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),D.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),A.dispatch.on("elementMouseover.tooltip",ft),S.dispatch.on("elementMouseover.tooltip",ft),A.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),S.dispatch.on("elementMouseout.tooltip",(function(t){_.hidden(!0)})),A.dispatch.on("elementMousemove.tooltip",(function(t){_()})),S.dispatch.on("elementMousemove.tooltip",(function(t){_()})))})),B}return B.dispatch=W,B.legend=O,B.lines1=k,B.lines2=w,B.scatters1=C,B.scatters2=M,B.bars1=A,B.bars2=S,B.stack1=E,B.stack2=D,B.xAxis=T,B.yAxis1=F,B.yAxis2=N,B.tooltip=_,B.interactiveLayer=g,B.options=e.utils.optionsFunc.bind(B),B._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},showLegend:{get:function(){return l},set:function(t){l=t}},yDomain1:{get:function(){return t},set:function(e){t=e}},yDomain2:{get:function(){return n},set:function(t){n=t}},noData:{get:function(){return u},set:function(t){u=t}},interpolate:{get:function(){return f},set:function(t){f=t}},legendRightAxisHint:{get:function(){return v},set:function(t){v=t}},margin:{get:function(){return r},set:function(t){void 0!==t.top&&(r.top=t.top,i=t.top),r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left}},color:{get:function(){return a},set:function(t){a=e.utils.getColor(t)}},x:{get:function(){return c},set:function(t){c=t,k.x(t),w.x(t),C.x(t),M.x(t),A.x(t),S.x(t),E.x(t),D.x(t)}},y:{get:function(){return d},set:function(t){d=t,k.y(t),w.y(t),C.y(t),M.y(t),E.y(t),D.y(t),A.y(t),S.y(t)}},useVoronoi:{get:function(){return p},set:function(t){p=t,k.useVoronoi(t),w.useVoronoi(t),E.useVoronoi(t),D.useVoronoi(t)}},useInteractiveGuideline:{get:function(){return h},set:function(t){(h=t)&&(k.interactive(!1),k.useVoronoi(!1),w.interactive(!1),w.useVoronoi(!1),E.interactive(!1),E.useVoronoi(!1),D.interactive(!1),D.useVoronoi(!1),C.interactive(!1),M.interactive(!1))}},duration:{get:function(){return m},set:function(t){m=t,[k,w,E,D,C,M,T,F,N].forEach((function(t){t.duration(m)}))}}}),e.utils.initOptions(B),B},e.models.ohlcBar=function(){"use strict";var t,n,r,i,a={top:0,right:0,bottom:0,left:0},o=null,s=null,l=Math.floor(1e4*Math.random()),u=null,c=d3.scale.linear(),d=d3.scale.linear(),f=function(t){return t.x},p=function(t){return t.y},g=function(t){return t.open},h=function(t){return t.close},v=function(t){return t.high},m=function(t){return t.low},y=[],b=[],x=!1,k=!0,w=e.utils.defaultColor(),C=!1,M=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");function A(C){return C.each((function(C){u=d3.select(this);var A=e.utils.availableWidth(o,u,a),S=e.utils.availableHeight(s,u,a);e.utils.initSVG(u);var E=A/C[0].values.length*.9;c.domain(t||d3.extent(C[0].values.map(f).concat(y))),x?c.range(r||[.5*A/C[0].values.length,A*(C[0].values.length-.5)/C[0].values.length]):c.range(r||[5+E/2,A-E/2-5]),d.domain(n||[d3.min(C[0].values.map(m).concat(b)),d3.max(C[0].values.map(v).concat(b))]).range(i||[S,0]),c.domain()[0]===c.domain()[1]&&(c.domain()[0]?c.domain([c.domain()[0]-.01*c.domain()[0],c.domain()[1]+.01*c.domain()[1]]):c.domain([-1,1])),d.domain()[0]===d.domain()[1]&&(d.domain()[0]?d.domain([d.domain()[0]+.01*d.domain()[0],d.domain()[1]-.01*d.domain()[1]]):d.domain([-1,1]));var D=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([C[0].values]),T=D.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),F=T.append("defs"),N=T.append("g"),O=D.select("g");N.append("g").attr("class","nv-ticks"),D.attr("transform","translate("+a.left+","+a.top+")"),u.on("click",(function(t,e){M.chartClick({data:t,index:e,pos:d3.event,id:l})})),F.append("clipPath").attr("id","nv-chart-clip-path-"+l).append("rect"),D.select("#nv-chart-clip-path-"+l+" rect").attr("width",A).attr("height",S),O.attr("clip-path",k?"url(#nv-chart-clip-path-"+l+")":"");var _=D.select(".nv-ticks").selectAll(".nv-tick").data((function(t){return t}));_.exit().remove(),_.enter().append("path").attr("class",(function(t,e,n){return(g(t,e)>h(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e})).attr("d",(function(t,e){return"m0,0l0,"+(d(g(t,e))-d(v(t,e)))+"l"+-E/2+",0l"+E/2+",0l0,"+(d(m(t,e))-d(g(t,e)))+"l0,"+(d(h(t,e))-d(m(t,e)))+"l"+E/2+",0l"+-E/2+",0z"})).attr("transform",(function(t,e){return"translate("+c(f(t,e))+","+d(v(t,e))+")"})).attr("fill",(function(t,e){return w[0]})).attr("stroke",(function(t,e){return w[0]})).attr("x",0).attr("y",(function(t,e){return d(Math.max(0,p(t,e)))})).attr("height",(function(t,e){return Math.abs(d(p(t,e))-d(0))})),_.attr("class",(function(t,e,n){return(g(t,e)>h(t,e)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+e})),d3.transition(_).attr("transform",(function(t,e){return"translate("+c(f(t,e))+","+d(v(t,e))+")"})).attr("d",(function(t,e){var n=A/C[0].values.length*.9;return"m0,0l0,"+(d(g(t,e))-d(v(t,e)))+"l"+-n/2+",0l"+n/2+",0l0,"+(d(m(t,e))-d(g(t,e)))+"l0,"+(d(h(t,e))-d(m(t,e)))+"l"+n/2+",0l"+-n/2+",0z"}))})),A}return A.highlightPoint=function(t,e){A.clearHighlights(),u.select(".nv-ohlcBar .nv-tick-0-"+t).classed("hover",e)},A.clearHighlights=function(){u.select(".nv-ohlcBar .nv-tick.hover").classed("hover",!1)},A.dispatch=M,A.options=e.utils.optionsFunc.bind(A),A._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},xScale:{get:function(){return c},set:function(t){c=t}},yScale:{get:function(){return d},set:function(t){d=t}},xDomain:{get:function(){return t},set:function(e){t=e}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return i},set:function(t){i=t}},forceX:{get:function(){return y},set:function(t){y=t}},forceY:{get:function(){return b},set:function(t){b=t}},padData:{get:function(){return x},set:function(t){x=t}},clipEdge:{get:function(){return k},set:function(t){k=t}},id:{get:function(){return l},set:function(t){l=t}},interactive:{get:function(){return C},set:function(t){C=t}},x:{get:function(){return f},set:function(t){f=t}},y:{get:function(){return p},set:function(t){p=t}},open:{get:function(){return g()},set:function(t){g=t}},close:{get:function(){return h()},set:function(t){h=t}},high:{get:function(){return v},set:function(t){v=t}},low:{get:function(){return m},set:function(t){m=t}},margin:{get:function(){return a},set:function(t){a.top=null!=t.top?t.top:a.top,a.right=null!=t.right?t.right:a.right,a.bottom=null!=t.bottom?t.bottom:a.bottom,a.left=null!=t.left?t.left:a.left}},color:{get:function(){return w},set:function(t){w=e.utils.getColor(t)}}}),e.utils.initOptions(A),A},e.models.parallelCoordinates=function(){"use strict";var t,n,r,i={top:30,right:0,bottom:10,left:0},a=null,o=null,s=null,l=null,u=d3.scale.ordinal(),c={},d="undefined values",f=[],p=[],g=[],h=!0,v=e.utils.defaultColor(),m=[],y=[],b=[],x=[],k=1,w=d3.svg.line(),C=d3.svg.axis(),M=d3.dispatch("brushstart","brush","brushEnd","dimensionsOrder","stateChange","elementClick","elementMouseover","elementMouseout","elementMousemove","renderEnd","activeChanged"),A=e.utils.renderWatch(M);function S(E){return A.reset(),E.each((function(A){var S=d3.select(this);if(s=e.utils.availableWidth(a,S,i),l=e.utils.availableHeight(o,S,i),e.utils.initSVG(S),void 0===A[0].values){var E=[];A.forEach((function(t){var e={};Object.keys(t).forEach((function(n){"name"!==n&&(e[n]=t[n])})),E.push({key:t.name,values:e})})),A=E}var D=A.map((function(t){return t.values}));0===y.length&&(y=A),g=f.sort((function(t,e){return t.currentPosition-e.currentPosition})).map((function(t){return t.key})),p=f.filter((function(t){return!t.disabled})),u.rangePoints([0,s],1).domain(p.map((function(t){return t.key})));var T={},F=!1,N=[];g.forEach((function(t){var e=d3.extent(D,(function(e){return+e[t]})),n=e[0],r=e[1],i=!1;(isNaN(n)||isNaN(r))&&(i=!0,n=0,r=0),n===r&&(n-=1,r+=1);var a=m.filter((function(e){return e.dimension==t}));0!==a.length&&(i?(n=c[t].domain()[0],r=c[t].domain()[1]):!a[0].hasOnlyNaN&&h?(n=n>a[0].extent[0]?a[0].extent[0]:n,r=r<a[0].extent[1]?a[0].extent[1]:r):a[0].hasNaN&&(r=r<a[0].extent[1]?a[0].extent[1]:r,T[t]=c[t].domain()[1],F=!0)),c[t]=d3.scale.linear().domain([n,r]).range([.9*(l-12),0]),x=[],c[t].brush=d3.svg.brush().y(c[t]).on("brushstart",$).on("brush",G).on("brushend",Y)}));var O=S.selectAll("g.nv-wrap.nv-parallelCoordinates").data([A]),_=O.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates").append("g"),W=O.select("g");_.append("g").attr("class","nv-parallelCoordinates background"),_.append("g").attr("class","nv-parallelCoordinates foreground"),_.append("g").attr("class","nv-parallelCoordinates missingValuesline"),O.attr("transform","translate("+i.left+","+i.top+")"),w.interpolate("cardinal").tension(k),C.orient("left");var L,B,R=d3.behavior.drag().on("dragstart",(function(t){b[t.key]=this.parentNode.__origin__=u(t.key),n.attr("visibility","hidden")})).on("drag",(function(e){b[e.key]=Math.min(s,Math.max(0,this.parentNode.__origin__+=d3.event.x)),t.attr("d",j),p.sort((function(t,e){return U(t.key)-U(e.key)})),p.forEach((function(t,e){return t.currentPosition=e})),u.domain(p.map((function(t){return t.key}))),r.attr("transform",(function(t){return"translate("+U(t.key)+")"}))})).on("dragend",(function(e,r){delete this.parentNode.__origin__,delete b[e.key],d3.select(this.parentNode).attr("transform","translate("+u(e.key)+")"),t.attr("d",j),n.attr("d",j).attr("visibility",null),M.dimensionsOrder(p)})),P=u.range()[1]-u.range()[0];if(P=isNaN(P)?u.range()[0]:P,!isNaN(P)){var q=[0+P/2,l-12,s-P/2,l-12];(L=O.select(".missingValuesline").selectAll("line").data([q])).enter().append("line"),L.exit().remove(),L.attr("x1",(function(t){return t[0]})).attr("y1",(function(t){return t[1]})).attr("x2",(function(t){return t[2]})).attr("y2",(function(t){return t[3]})),(B=O.select(".missingValuesline").selectAll("text").data([d])).append("text").data([d]),B.enter().append("text"),B.exit().remove(),B.attr("y",l).attr("x",s-92-P/2).text((function(t){return t}))}(n=O.select(".background").selectAll("path").data(A)).enter().append("path"),n.exit().remove(),n.attr("d",j),(t=O.select(".foreground").selectAll("path").data(A)).enter().append("path"),t.exit().remove(),t.attr("d",j).style("stroke-width",(function(t,e){return isNaN(t.strokeWidth)&&(t.strokeWidth=1),t.strokeWidth})).attr("stroke",(function(t,e){return t.color||v(t,e)})),t.on("mouseover",(function(t,e){d3.select(this).classed("hover",!0).style("stroke-width",t.strokeWidth+2+"px").style("stroke-opacity",1),M.elementMouseover({label:t.name,color:t.color||v(t,e),values:t.values,dimensions:p})})),t.on("mouseout",(function(t,e){d3.select(this).classed("hover",!1).style("stroke-width",t.strokeWidth+"px").style("stroke-opacity",.7),M.elementMouseout({label:t.name,index:e})})),t.on("mousemove",(function(t,e){M.elementMousemove()})),t.on("click",(function(t){M.elementClick({id:t.id})}));var I=(r=W.selectAll(".dimension").data(p)).enter().append("g").attr("class","nv-parallelCoordinates dimension");r.attr("transform",(function(t){return"translate("+u(t.key)+",0)"})),I.append("g").attr("class","nv-axis"),I.append("text").attr("class","nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").on("mouseover",(function(t,e){M.elementMouseover({label:t.tooltip||t.key,color:t.color})})).on("mouseout",(function(t,e){M.elementMouseout({label:t.tooltip})})).on("mousemove",(function(t,e){M.elementMousemove()})).call(R),I.append("g").attr("class","nv-brushBackground"),r.exit().remove(),r.select(".nv-label").text((function(t){return t.key})),Q(h);var V=g.filter((function(t){return!c[t].brush.empty()})),H=V.map((function(t){return c[t].brush.extent()})),z=y.slice(0);function j(t){return w(p.map((function(e){if(isNaN(t.values[e.key])||isNaN(parseFloat(t.values[e.key]))||F){var n=c[e.key].domain(),r=c[e.key].range(),i=n[0]-(n[1]-n[0])/9;if(x.indexOf(e.key)<0){var a=d3.scale.linear().domain([i,n[1]]).range([l-12,r[1]]);c[e.key].brush.y(a),x.push(e.key)}if(isNaN(t.values[e.key])||isNaN(parseFloat(t.values[e.key])))return[u(e.key),c[e.key](i)]}return void 0!==L&&(x.length>0||F?(L.style("display","inline"),B.style("display","inline")):(L.style("display","none"),B.style("display","none"))),[u(e.key),c[e.key](t.values[e.key])]})))}function Q(t){m.forEach((function(e){var n=c[e.dimension].brush.y().domain();e.hasOnlyNaN&&(e.extent[1]=(c[e.dimension].domain()[1]-n[0])*(e.extent[1]-e.extent[0])/(T[e.dimension]-e.extent[0])+n[0]),e.hasNaN&&(e.extent[0]=n[0]),t&&c[e.dimension].brush.extent(e.extent)})),r.select(".nv-brushBackground").each((function(t){d3.select(this).call(c[t.key].brush)})).selectAll("rect").attr("x",-8).attr("width",16),X()}function $(){!1===h&&(h=!0,Q(!0))}function G(){V=g.filter((function(t){return!c[t].brush.empty()})),H=V.map((function(t){return c[t].brush.extent()})),m=[],V.forEach((function(t,e){m[e]={dimension:t,extent:H[e],hasNaN:!1,hasOnlyNaN:!1}})),y=[],t.style("display",(function(t){var e=V.every((function(e,n){return!(!isNaN(t.values[e])&&!isNaN(parseFloat(t.values[e]))||H[n][0]!=c[e].brush.y().domain()[0])||H[n][0]<=t.values[e]&&t.values[e]<=H[n][1]&&!isNaN(parseFloat(t.values[e]))}));return e&&y.push(t),e?null:"none"})),X(),M.brush({filters:m,active:y})}function Y(){var t=V.length>0;m.forEach((function(t){t.extent[0]===c[t.dimension].brush.y().domain()[0]&&x.indexOf(t.dimension)>=0&&(t.hasNaN=!0),t.extent[1]<c[t.dimension].domain()[0]&&(t.hasOnlyNaN=!0)})),M.brushEnd(y,t)}function X(){r.select(".nv-axis").each((function(t,e){var n=m.filter((function(e){return e.dimension==t.key}));N[t.key]=c[t.key].domain(),0!=n.length&&h&&(N[t.key]=[],n[0].extent[1]>c[t.key].domain()[0]&&(N[t.key]=[n[0].extent[1]]),n[0].extent[0]>=c[t.key].domain()[0]&&N[t.key].push(n[0].extent[0])),d3.select(this).call(C.scale(c[t.key]).tickFormat(t.format).tickValues(N[t.key]))}))}function U(t){var e=b[t];return null==e?u(t):e}y=[],t.style("display",(function(t){var e=V.every((function(e,n){return!(!isNaN(t.values[e])&&!isNaN(parseFloat(t.values[e]))||H[n][0]!=c[e].brush.y().domain()[0])||H[n][0]<=t.values[e]&&t.values[e]<=H[n][1]&&!isNaN(parseFloat(t.values[e]))}));return e&&y.push(t),e?null:"none"})),(m.length>0||!e.utils.arrayEquals(y,z))&&M.activeChanged(y)})),S}return S.dispatch=M,S.options=e.utils.optionsFunc.bind(S),S._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return o},set:function(t){o=t}},dimensionData:{get:function(){return f},set:function(t){f=t}},displayBrush:{get:function(){return h},set:function(t){h=t}},filters:{get:function(){return m},set:function(t){m=t}},active:{get:function(){return y},set:function(t){y=t}},lineTension:{get:function(){return k},set:function(t){k=t}},undefinedValuesLabel:{get:function(){return d},set:function(t){d=t}},dimensions:{get:function(){return f.map((function(t){return t.key}))},set:function(t){e.deprecated("dimensions","use dimensionData instead"),0===f.length?t.forEach((function(t){f.push({key:t})})):t.forEach((function(t,e){f[e].key=t}))}},dimensionNames:{get:function(){return f.map((function(t){return t.key}))},set:function(t){e.deprecated("dimensionNames","use dimensionData instead"),g=[],0===f.length?t.forEach((function(t){f.push({key:t})})):t.forEach((function(t,e){f[e].key=t}))}},dimensionFormats:{get:function(){return f.map((function(t){return t.format}))},set:function(t){e.deprecated("dimensionFormats","use dimensionData instead"),0===f.length?t.forEach((function(t){f.push({format:t})})):t.forEach((function(t,e){f[e].format=t}))}},margin:{get:function(){return i},set:function(t){i.top=void 0!==t.top?t.top:i.top,i.right=void 0!==t.right?t.right:i.right,i.bottom=void 0!==t.bottom?t.bottom:i.bottom,i.left=void 0!==t.left?t.left:i.left}},color:{get:function(){return v},set:function(t){v=e.utils.getColor(t)}}}),e.utils.initOptions(S),S},e.models.parallelCoordinatesChart=function(){"use strict";var t=e.models.parallelCoordinates(),n=e.models.legend(),r=e.models.tooltip(),i=(e.models.tooltip(),{top:0,right:0,bottom:0,left:0}),a=null,o=null,s=null,l=!0,u=e.utils.defaultColor(),c=e.utils.state(),d=[],f=!0,p=null,g=null,h="undefined",v=d3.dispatch("dimensionsOrder","brushEnd","stateChange","changeState","renderEnd"),m=e.utils.renderWatch(v);function y(r){return m.reset(),m.models(t),r.each((function(r){var u=d3.select(this);e.utils.initSVG(u);var g,h=e.utils.availableWidth(o,u,i),m=e.utils.availableHeight(s,u,i);if(y.update=function(){u.call(y)},y.container=this,c.setter(function(t){return function(e){void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(d),y.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled}))}}}(d)).update(),c.disabled=d.map((function(t){return!!t.disabled})),(d=d.map((function(t){return t.disabled=!!t.disabled,t}))).forEach((function(t,e){t.originalPosition=isNaN(t.originalPosition)?e:t.originalPosition,t.currentPosition=isNaN(t.currentPosition)?e:t.currentPosition})),!p)for(g in p={},c)c[g]instanceof Array?p[g]=c[g].slice(0):p[g]=c[g];if(!r||!r.length)return e.utils.noData(y,u),y;u.selectAll(".nv-noData").remove();var b=u.selectAll("g.nv-wrap.nv-parallelCoordinatesChart").data([r]),x=b.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinatesChart").append("g"),k=b.select("g");x.append("g").attr("class","nv-parallelCoordinatesWrap"),x.append("g").attr("class","nv-legendWrap"),k.select("rect").attr("width",h).attr("height",m>0?m:0),l?(n.width(h).color((function(t){return"rgb(188,190,192)"})),k.select(".nv-legendWrap").datum(d.sort((function(t,e){return t.originalPosition-e.originalPosition}))).call(n),a||n.height()===i.top||(i.top=n.height(),m=e.utils.availableHeight(s,u,i)),b.select(".nv-legendWrap").attr("transform","translate( 0 ,"+-i.top+")")):k.select(".nv-legendWrap").selectAll("*").remove(),b.attr("transform","translate("+i.left+","+i.top+")"),t.width(h).height(m).dimensionData(d).displayBrush(f),k.select(".nv-parallelCoordinatesWrap ").datum(r).transition().call(t),t.dispatch.on("brushEnd",(function(t,e){e?(f=!0,v.brushEnd(t)):f=!1})),n.dispatch.on("stateChange",(function(t){for(var e in t)c[e]=t[e];v.stateChange(c),y.update()})),t.dispatch.on("dimensionsOrder",(function(t){d.sort((function(t,e){return t.currentPosition-e.currentPosition}));var e=!1;d.forEach((function(t,n){t.currentPosition=n,t.currentPosition!==t.originalPosition&&(e=!0)})),v.dimensionsOrder(d,e)})),v.on("changeState",(function(t){void 0!==t.disabled&&(d.forEach((function(e,n){e.disabled=t.disabled[n]})),c.disabled=t.disabled),y.update()}))})),m.renderEnd("parraleleCoordinateChart immediate"),y}return r.contentGenerator((function(t){var e='<table><thead><tr><td class="legend-color-guide"><div style="background-color:'+t.color+'"></div></td><td><strong>'+t.key+"</strong></td></tr></thead>";return 0!==t.series.length&&(e+='<tbody><tr><td height ="10px"></td></tr>',t.series.forEach((function(t){e=e+'<tr><td class="legend-color-guide"><div style="background-color:'+t.color+'"></div></td><td class="key">'+t.key+'</td><td class="value">'+t.value+"</td></tr>"})),e+="</tbody>"),e+="</table>"})),t.dispatch.on("elementMouseover.tooltip",(function(t){var e={key:t.label,color:t.color,series:[]};t.values&&(Object.keys(t.values).forEach((function(n){var r,i=t.dimensions.filter((function(t){return t.key===n}))[0];i&&(r=isNaN(t.values[n])||isNaN(parseFloat(t.values[n]))?h:i.format(t.values[n]),e.series.push({idx:i.currentPosition,key:n,value:r,color:i.color}))})),e.series.sort((function(t,e){return t.idx-e.idx}))),r.data(e).hidden(!1)})),t.dispatch.on("elementMouseout.tooltip",(function(t){r.hidden(!0)})),t.dispatch.on("elementMousemove.tooltip",(function(){r()})),y.dispatch=v,y.parallelCoordinates=t,y.legend=n,y.tooltip=r,y.options=e.utils.optionsFunc.bind(y),y._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},showLegend:{get:function(){return l},set:function(t){l=t}},defaultState:{get:function(){return p},set:function(t){p=t}},dimensionData:{get:function(){return d},set:function(t){d=t}},displayBrush:{get:function(){return f},set:function(t){f=t}},noData:{get:function(){return g},set:function(t){g=t}},nanValue:{get:function(){return h},set:function(t){h=t}},margin:{get:function(){return i},set:function(t){void 0!==t.top&&(i.top=t.top,a=t.top),i.right=void 0!==t.right?t.right:i.right,i.bottom=void 0!==t.bottom?t.bottom:i.bottom,i.left=void 0!==t.left?t.left:i.left}},color:{get:function(){return u},set:function(r){u=e.utils.getColor(r),n.color(u),t.color(u)}}}),e.utils.inheritOptions(y,t),e.utils.initOptions(y),y},e.models.pie=function(){"use strict";var t={top:0,right:0,bottom:0,left:0},n=500,r=500,i=function(t){return t.x},a=function(t){return t.y},o=Math.floor(1e4*Math.random()),s=null,l=e.utils.defaultColor(),u=d3.format(",.2f"),c=!0,d=!1,f="key",p=.02,g=!1,h=!1,v=!1,m=!0,y=0,b=!1,x=!1,k=!1,w=!1,C=0,M=.5,A=250,S=[],E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),D=[],T=[],F=e.utils.renderWatch(E);function N(O){return F.reset(),O.each((function(N){var O=n-t.left-t.right,_=r-t.top-t.bottom,W=Math.min(O,_)/2,L=[],B=[];if(s=d3.select(this),0===S.length)for(var R=W-W/10,P=M*W,q=0;q<N[0].length;q++)L.push(R),B.push(P);else m?(L=S.map((function(t){return(t.outer-t.outer/10)*W})),B=S.map((function(t){return(t.inner-t.inner/10)*W})),M=d3.min(S.map((function(t){return t.inner-t.inner/10})))):(L=S.map((function(t){return t.outer*W})),B=S.map((function(t){return t.inner*W})),M=d3.min(S.map((function(t){return t.inner}))));e.utils.initSVG(s);var I=s.selectAll(".nv-wrap.nv-pie").data(N),V=I.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+o).append("g"),H=I.select("g"),z=V.append("g").attr("class","nv-pie");for(V.append("g").attr("class","nv-pieLabels"),I.attr("transform","translate("+t.left+","+t.top+")"),H.select(".nv-pie").attr("transform","translate("+O/2+","+_/2+")"),H.select(".nv-pieLabels").attr("transform","translate("+O/2+","+_/2+")"),s.on("click",(function(t,e){E.chartClick({data:t,index:e,pos:d3.event,id:o})})),D=[],T=[],q=0;q<N[0].length;q++){var j=d3.svg.arc().outerRadius(L[q]),Q=d3.svg.arc().outerRadius(L[q]+5);!1!==x&&(j.startAngle(x),Q.startAngle(x)),!1!==w&&(j.endAngle(w),Q.endAngle(w)),h&&(j.innerRadius(B[q]),Q.innerRadius(B[q])),j.cornerRadius&&C&&(j.cornerRadius(C),Q.cornerRadius(C)),D.push(j),T.push(Q)}var $=d3.layout.pie().sort(null).value((function(t){return t.disabled?0:a(t)}));$.padAngle&&k&&$.padAngle(k),h&&v&&(z.append("text").attr("class","nv-pie-title"),I.select(".nv-pie-title").style("text-anchor","middle").text((function(t){return v})).style("font-size",Math.min(O,_)*M*2/(v.length+2)+"px").attr("dy","0.35em").attr("transform",(function(t,e){return"translate(0, "+y+")"})));var G=I.select(".nv-pie").selectAll(".nv-slice").data($),Y=I.select(".nv-pieLabels").selectAll(".nv-label").data($);G.exit().remove(),Y.exit().remove();var X=G.enter().append("g");if(X.attr("class","nv-slice"),X.on("mouseover",(function(t,e){d3.select(this).classed("hover",!0),m&&d3.select(this).select("path").transition().duration(70).attr("d",T[e]),E.elementMouseover({data:t.data,index:e,color:d3.select(this).style("fill"),percent:(t.endAngle-t.startAngle)/(2*Math.PI)})})),X.on("mouseout",(function(t,e){d3.select(this).classed("hover",!1),m&&d3.select(this).select("path").transition().duration(50).attr("d",D[e]),E.elementMouseout({data:t.data,index:e})})),X.on("mousemove",(function(t,e){E.elementMousemove({data:t.data,index:e})})),X.on("click",(function(t,e){E.elementClick({data:t.data,index:e,color:d3.select(this).style("fill"),event:d3.event,element:this})})),X.on("dblclick",(function(t,e){E.elementDblClick({data:t.data,index:e,color:d3.select(this).style("fill")})})),G.attr("fill",(function(t,e){return l(t.data,e)})),G.attr("stroke",(function(t,e){return l(t.data,e)})),X.append("path").each((function(t){this._current=t})),G.select("path").transition().duration(A).attr("d",(function(t,e){return D[e](t)})).attrTween("d",(function(t,e){t.endAngle=isNaN(t.endAngle)?0:t.endAngle,t.startAngle=isNaN(t.startAngle)?0:t.startAngle,h||(t.innerRadius=0);var n=d3.interpolate(this._current,t);return this._current=n(0),function(t){return D[e](n(t))}})),c){var U=[];for(q=0;q<N[0].length;q++)U.push(D[q]),d?h&&(U[q]=d3.svg.arc().outerRadius(D[q].outerRadius()),!1!==x&&U[q].startAngle(x),!1!==w&&U[q].endAngle(w)):h||U[q].innerRadius(0);Y.enter().append("g").classed("nv-label",!0).each((function(t,e){var n=d3.select(this);n.attr("transform",(function(t,e){if(b){t.outerRadius=L[e]+10,t.innerRadius=L[e]+15;var n=(t.startAngle+t.endAngle)/2*(180/Math.PI);return(t.startAngle+t.endAngle)/2<Math.PI?n-=90:n+=90,"translate("+U[e].centroid(t)+") rotate("+n+")"}return t.outerRadius=W+10,t.innerRadius=W+15,"translate("+U[e].centroid(t)+")"})),n.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),n.append("text").style("text-anchor",b?(t.startAngle+t.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")}));var Z={},K=function(t){return 140*Math.floor(t[0]/140)+","+14*Math.floor(t[1]/14)},J=function(t){return(t.endAngle-t.startAngle)/(2*Math.PI)};Y.watchTransition(F,"pie labels").attr("transform",(function(t,e){if(b){t.outerRadius=L[e]+10,t.innerRadius=L[e]+15;var n=(t.startAngle+t.endAngle)/2*(180/Math.PI);return(t.startAngle+t.endAngle)/2<Math.PI?n-=90:n+=90,"translate("+U[e].centroid(t)+") rotate("+n+")"}t.outerRadius=W+10,t.innerRadius=W+15;var r=U[e].centroid(t),i=J(t);if(t.value&&i>=p){var a=K(r);Z[a]&&(r[1]-=14),Z[K(r)]=!0}return"translate("+r+")"})),Y.select(".nv-label text").style("text-anchor",(function(t,e){return b?(t.startAngle+t.endAngle)/2<Math.PI?"start":"end":"middle"})).text((function(t,e){var n=J(t),r="";if(!t.value||n<p)return"";if("function"==typeof f)r=f(t,e,{key:i(t.data),value:a(t.data),percent:u(n)});else switch(f){case"key":r=i(t.data);break;case"value":r=u(a(t.data));break;case"percent":r=d3.format("%")(n)}return r})),g&&Y.each((function(t,n){if(this.getBBox){var r=this.getBBox(),i=U[n].centroid(t),a={x:i[0]+r.x,y:i[1]+r.y},o={x:a.x+r.width,y:a.y},s={x:a.x,y:a.y+r.height},l={x:a.x+r.width,y:a.y+r.height};t.visible=e.utils.pointIsInArc(a,t,j)&&e.utils.pointIsInArc(o,t,j)&&e.utils.pointIsInArc(s,t,j)&&e.utils.pointIsInArc(l,t,j)}})).style("display",(function(t){return t.visible?null:"none"}))}})),F.renderEnd("pie immediate"),N}return N.dispatch=E,N.options=e.utils.optionsFunc.bind(N),N._options=Object.create({},{arcsRadius:{get:function(){return S},set:function(t){S=t}},width:{get:function(){return n},set:function(t){n=t}},height:{get:function(){return r},set:function(t){r=t}},showLabels:{get:function(){return c},set:function(t){c=t}},title:{get:function(){return v},set:function(t){v=t}},titleOffset:{get:function(){return y},set:function(t){y=t}},labelThreshold:{get:function(){return p},set:function(t){p=t}},hideOverlapLabels:{get:function(){return g},set:function(t){g=t}},valueFormat:{get:function(){return u},set:function(t){u=t}},x:{get:function(){return i},set:function(t){i=t}},id:{get:function(){return o},set:function(t){o=t}},endAngle:{get:function(){return w},set:function(t){w=t}},startAngle:{get:function(){return x},set:function(t){x=t}},padAngle:{get:function(){return k},set:function(t){k=t}},cornerRadius:{get:function(){return C},set:function(t){C=t}},donutRatio:{get:function(){return M},set:function(t){M=t}},labelsOutside:{get:function(){return d},set:function(t){d=t}},labelSunbeamLayout:{get:function(){return b},set:function(t){b=t}},donut:{get:function(){return h},set:function(t){h=t}},growOnHover:{get:function(){return m},set:function(t){m=t}},pieLabelsOutside:{get:function(){return d},set:function(t){d=t,e.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return d},set:function(t){d=t,e.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return u},set:function(t){u=t,e.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},duration:{get:function(){return A},set:function(t){A=t,F.reset(A)}},y:{get:function(){return a},set:function(t){a=d3.functor(t)}},color:{get:function(){return l},set:function(t){l=e.utils.getColor(t)}},labelType:{get:function(){return f},set:function(t){f=t||"key"}}}),e.utils.initOptions(N),N},e.models.pieChart=function(){"use strict";var t=e.models.pie(),n=e.models.legend(),r=e.models.tooltip(),i={top:30,right:20,bottom:20,left:20},a=null,o=null,s=null,l=!1,u=!0,c="top",d=e.utils.defaultColor(),f=e.utils.state(),p=null,g=null,h=250,v=d3.dispatch("stateChange","changeState","renderEnd");r.duration(0).headerEnabled(!1).valueFormatter((function(e,n){return t.valueFormat()(e,n)}));var m=e.utils.renderWatch(v);function y(r){return m.reset(),m.models(t),r.each((function(r){var l=d3.select(this);e.utils.initSVG(l);var d,g=e.utils.availableWidth(o,l,i),h=e.utils.availableHeight(s,l,i);if(y.update=function(){l.transition().call(y)},y.container=this,f.setter(function(t){return function(e){void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(r),y.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled}))}}}(r)).update(),f.disabled=r.map((function(t){return!!t.disabled})),!p)for(d in p={},f)f[d]instanceof Array?p[d]=f[d].slice(0):p[d]=f[d];if(!r||!r.length)return e.utils.noData(y,l),y;l.selectAll(".nv-noData").remove();var m=l.selectAll("g.nv-wrap.nv-pieChart").data([r]),b=m.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),x=m.select("g");if(b.append("g").attr("class","nv-pieWrap"),b.append("g").attr("class","nv-legendWrap"),u)if("top"===c)n.width(g).key(t.x()),m.select(".nv-legendWrap").datum(r).call(n),a||n.height()===i.top||(i.top=n.height(),h=e.utils.availableHeight(s,l,i)),m.select(".nv-legendWrap").attr("transform","translate(0,"+-i.top+")");else if("right"===c){var k=e.models.legend().width();g/2<k&&(k=g/2),n.height(h).key(t.x()),n.width(k),g-=n.width(),m.select(".nv-legendWrap").datum(r).call(n).attr("transform","translate("+g+",0)")}else"bottom"===c&&(n.width(g).key(t.x()),m.select(".nv-legendWrap").datum(r).call(n),i.bottom=n.height(),h=e.utils.availableHeight(s,l,i),m.select(".nv-legendWrap").attr("transform","translate(0,"+h+")"));else x.select(".nv-legendWrap").selectAll("*").remove();m.attr("transform","translate("+i.left+","+i.top+")"),t.width(g).height(h);var w=x.select(".nv-pieWrap").datum([r]);d3.transition(w).call(t),n.dispatch.on("stateChange",(function(t){for(var e in t)f[e]=t[e];v.stateChange(f),y.update()})),v.on("changeState",(function(t){void 0!==t.disabled&&(r.forEach((function(e,n){e.disabled=t.disabled[n]})),f.disabled=t.disabled),y.update()}))})),m.renderEnd("pieChart immediate"),y}return t.dispatch.on("elementMouseover.tooltip",(function(t){t.series={key:y.x()(t.data),value:y.y()(t.data),color:t.color,percent:t.percent},l||(delete t.percent,delete t.series.percent),r.data(t).hidden(!1)})),t.dispatch.on("elementMouseout.tooltip",(function(t){r.hidden(!0)})),t.dispatch.on("elementMousemove.tooltip",(function(t){r()})),y.legend=n,y.dispatch=v,y.pie=t,y.tooltip=r,y.options=e.utils.optionsFunc.bind(y),y._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},noData:{get:function(){return g},set:function(t){g=t}},showTooltipPercent:{get:function(){return l},set:function(t){l=t}},showLegend:{get:function(){return u},set:function(t){u=t}},legendPosition:{get:function(){return c},set:function(t){c=t}},defaultState:{get:function(){return p},set:function(t){p=t}},color:{get:function(){return d},set:function(e){d=e,n.color(d),t.color(d)}},duration:{get:function(){return h},set:function(e){h=e,m.reset(h),t.duration(h)}},margin:{get:function(){return i},set:function(t){void 0!==t.top&&(i.top=t.top,a=t.top),i.right=void 0!==t.right?t.right:i.right,i.bottom=void 0!==t.bottom?t.bottom:i.bottom,i.left=void 0!==t.left?t.left:i.left}}}),e.utils.inheritOptions(y,t),e.utils.initOptions(y),y},e.models.sankey=function(){"use strict";var t={},n=24,r=8,i=[1,1],a=[],o=[],s=!0,l=function(t){a.forEach((function(t){t.sourceLinks=[],t.targetLinks=[]})),o.forEach((function(t){var e=t.source,n=t.target;"number"==typeof e&&(e=t.source=a[t.source]),"number"==typeof n&&(n=t.target=a[t.target]),e.sourceLinks.push(t),n.targetLinks.push(t)})),a.forEach((function(t){t.value=Math.max(d3.sum(t.sourceLinks,f),d3.sum(t.targetLinks,f))})),function(){for(var t,e,r=a,o=0;r.length&&o<a.length;)t=[],r.forEach((function(e){e.x=o,e.dx=n,e.sourceLinks.forEach((function(e){t.indexOf(e.target)<0&&t.push(e.target)}))})),r=t,++o;s&&function(t){a.forEach((function(e){e.sourceLinks.length||(e.x=t-1)}))}(o),e=(i[0]-n)/(o-1),a.forEach((function(t){t.x*=e}))}(),function(t){var e,n=d3.nest().key((function(t){return t.x})).sortKeys(d3.ascending).entries(a).map((function(t){return t.values}));e=d3.min(n,(function(t){return(i[1]-(t.length-1)*r)/d3.sum(t,f)})),n.forEach((function(t){t.forEach((function(t,n){t.y=n,t.dy=t.value*e}))})),o.forEach((function(t){t.dy=t.value*e})),p(),d();for(var s=1;t>0;--t)u(s*=.99),p(),d(),l(s),p(),d();function l(t){function e(t){return(t.source.y+t.sy+t.dy/2)*t.value}n.forEach((function(n,r){n.forEach((function(n){if(n.targetLinks.length){var r=d3.sum(n.targetLinks,e)/d3.sum(n.targetLinks,f);n.y+=(r-c(n))*t}}))}))}function u(t){function e(t){return(t.target.y+t.ty+t.dy/2)*t.value}n.slice().reverse().forEach((function(n){n.forEach((function(n){if(n.sourceLinks.length){var r=d3.sum(n.sourceLinks,e)/d3.sum(n.sourceLinks,f);n.y+=(r-c(n))*t}}))}))}function p(){n.forEach((function(t){var e,n,a,o=0,s=t.length;for(t.sort(g),a=0;a<s;++a)(n=o-(e=t[a]).y)>0&&(e.y+=n),o=e.y+e.dy+r;if((n=o-r-i[1])>0)for(o=e.y-=n,a=s-2;a>=0;--a)(n=(e=t[a]).y+e.dy+r-o)>0&&(e.y-=n),o=e.y}))}function g(t,e){return t.y-e.y}}(t)},u=function(){var t=.5;function e(e){var n=e.source.x+e.source.dx,r=e.target.x,i=d3.interpolateNumber(n,r),a=i(t),o=i(1-t),s=e.source.y+e.sy+e.dy/2,l=e.target.y+e.ty+e.dy/2;return"M"+n+","+s+"C"+a+","+s+" "+o+","+l+" "+r+","+l}return e.curvature=function(n){return arguments.length?(t=+n,e):t},e},c=function(t){return t.y+t.dy/2};function d(){function t(t,e){return t.source.y-e.source.y}function e(t,e){return t.target.y-e.target.y}a.forEach((function(n){n.sourceLinks.sort(e),n.targetLinks.sort(t)})),a.forEach((function(t){var e=0,n=0;t.sourceLinks.forEach((function(t){t.sy=e,e+=t.dy})),t.targetLinks.forEach((function(t){t.ty=n,n+=t.dy}))}))}function f(t){return t.value}return t.options=e.utils.optionsFunc.bind(t),t._options=Object.create({},{nodeWidth:{get:function(){return n},set:function(t){n=+t}},nodePadding:{get:function(){return r},set:function(t){r=t}},nodes:{get:function(){return a},set:function(t){a=t}},links:{get:function(){return o},set:function(t){o=t}},size:{get:function(){return i},set:function(t){i=t}},sinksRight:{get:function(){return s},set:function(t){s=t}},layout:{get:function(){l(32)},set:function(t){l(t)}},relayout:{get:function(){d()},set:function(t){}},center:{get:function(){return c()},set:function(t){"function"==typeof t&&(c=t)}},link:{get:function(){return u()},set:function(t){return"function"==typeof t&&(u=t),u()}}}),e.utils.initOptions(t),t},e.models.sankeyChart=function(){"use strict";var t={top:5,right:0,bottom:5,left:0},n=e.models.sankey(),r=600,i=400,a=36,o=40,s="units",l=void 0,u=d3.format(",.0f"),c=function(t){return u(t)+" "+s},d=d3.scale.category20(),f=function(t){return t.source.name+" → "+t.target.name+"\n"+c(t.value)},p=function(t){return t.color=d(t.name.replace(/ .*/,""))},g=function(t){return d3.rgb(t.color).darker(2)},h=function(t){return t.name+"\n"+c(t.value)},v=function(t,e){t.append("text").attr("x",0).attr("y",0).attr("class","nvd3-sankey-chart-error").attr("text-anchor","middle").text(e)};function m(t){return t.each((function(e){var s={nodes:[{node:1,name:"Test 1"},{node:2,name:"Test 2"},{node:3,name:"Test 3"},{node:4,name:"Test 4"},{node:5,name:"Test 5"},{node:6,name:"Test 6"}],links:[{source:0,target:1,value:2295},{source:0,target:5,value:1199},{source:1,target:2,value:1119},{source:1,target:5,value:1176},{source:2,target:3,value:487},{source:2,target:5,value:632},{source:3,target:4,value:301},{source:3,target:5,value:186}]},u=!1,c=!1;if(("object"==typeof e.nodes&&e.nodes.length)>=0&&("object"==typeof e.links&&e.links.length)>=0&&(u=!0),e.nodes&&e.nodes.length>0&&e.links&&e.links.length>0&&(c=!0),!u)return console.error("NVD3 Sankey chart error:","invalid data format for",e),console.info("Valid data format is: ",s,JSON.stringify(s)),v(t,"Error loading chart, data is invalid"),!1;if(!c)return v(t,"No data available"),!1;var d=t.append("svg").attr("width",r).attr("height",i).append("g").attr("class","nvd3 nv-wrap nv-sankeyChart");n.nodeWidth(a).nodePadding(o).size([r,i]);var m=n.link();n.nodes(e.nodes).links(e.links).layout(32).center(l);var y=d.append("g").selectAll(".link").data(e.links).enter().append("path").attr("class","link").attr("d",m).style("stroke-width",(function(t){return Math.max(1,t.dy)})).sort((function(t,e){return e.dy-t.dy}));y.append("title").text(f);var b=d.append("g").selectAll(".node").data(e.nodes).enter().append("g").attr("class","node").attr("transform",(function(t){return"translate("+t.x+","+t.y+")"})).call(d3.behavior.drag().origin((function(t){return t})).on("dragstart",(function(){this.parentNode.appendChild(this)})).on("drag",(function(t){d3.select(this).attr("transform","translate("+t.x+","+(t.y=Math.max(0,Math.min(i-t.dy,d3.event.y)))+")"),n.relayout(),y.attr("d",m)})));b.append("rect").attr("height",(function(t){return t.dy})).attr("width",n.nodeWidth()).style("fill",p).style("stroke",g).append("title").text(h),b.append("text").attr("x",-6).attr("y",(function(t){return t.dy/2})).attr("dy",".35em").attr("text-anchor","end").attr("transform",null).text((function(t){return t.name})).filter((function(t){return t.x<r/2})).attr("x",6+n.nodeWidth()).attr("text-anchor","start")})),m}return m.options=e.utils.optionsFunc.bind(m),m._options=Object.create({},{units:{get:function(){return s},set:function(t){s=t}},width:{get:function(){return r},set:function(t){r=t}},height:{get:function(){return i},set:function(t){i=t}},format:{get:function(){return c},set:function(t){c=t}},linkTitle:{get:function(){return f},set:function(t){f=t}},nodeWidth:{get:function(){return a},set:function(t){a=t}},nodePadding:{get:function(){return o},set:function(t){o=t}},center:{get:function(){return l},set:function(t){l=t}},margin:{get:function(){return t},set:function(e){t.top=void 0!==e.top?e.top:t.top,t.right=void 0!==e.right?e.right:t.right,t.bottom=void 0!==e.bottom?e.bottom:t.bottom,t.left=void 0!==e.left?e.left:t.left}},nodeStyle:{get:function(){return{}},set:function(t){p=void 0!==t.fillColor?t.fillColor:p,g=void 0!==t.strokeColor?t.strokeColor:g,h=void 0!==t.title?t.title:h}}}),e.utils.initOptions(m),m},e.models.scatter=function(){"use strict";var t,n,r,i,a,o,s,l,u={top:0,right:0,bottom:0,left:0},c=null,d=null,f=e.utils.defaultColor(),p=null,g=Math.floor(1e5*Math.random()),h=null,v=d3.scale.linear(),m=d3.scale.linear(),y=d3.scale.linear(),b=function(t){return t.x},x=function(t){return t.y},k=function(t){return t.size||1},w=function(t){return t.shape||"circle"},C=[],M=[],A=[],S=!0,E=function(t){return!t.notActive},D=!1,T=.1,F=!1,N=!0,O=!1,_=function(){return 25},W=null,L=null,B=null,R=null,P=null,q=null,I=!1,V=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),H=!0,z=250,j=300,Q=!1,$=!1,G=e.utils.renderWatch(V,z),Y=[16,256],X={};function U(t){var e;return e=t[0].series+":"+t[1],X[e]=X[e]||{}}function Z(t){var e;e=t[0].series+":"+t[1],delete X[e]}function K(t){var e,n,r,i=U(t),a=!1;for(e=1;e<arguments.length;e+=2)n=arguments[e],r=arguments[e+1](t[0],t[1]),i[n]===r&&i.hasOwnProperty(n)||(i[n]=r,a=!0);return a}function J(z){return G.reset(),z.each((function(z){h=d3.select(this);var X=e.utils.availableWidth(c,h,u),U=e.utils.availableHeight(d,h,u);e.utils.initSVG(h),z.forEach((function(t,e){t.values.forEach((function(t){t.series=e}))}));var tt="function"==typeof J.yScale().base,et=W&&L&&P?[]:d3.merge(z.map((function(t){return t.values.map((function(t,e){return{x:b(t,e),y:x(t,e),size:k(t,e)}}))})));if(v.domain(W||d3.extent(et.map((function(t){return t.x})).concat(C))),D&&z[0]?v.range(B||[(X*T+X)/(2*z[0].values.length),X-X*(1+T)/(2*z[0].values.length)]):v.range(B||[0,X]),tt){var nt=d3.min(et.map((function(t){if(0!==t.y)return t.y})));m.clamp(!0).domain(L||d3.extent(et.map((function(t){return 0!==t.y?t.y:.1*nt})).concat(M))).range(R||[U,0])}else m.domain(L||d3.extent(et.map((function(t){return t.y})).concat(M))).range(R||[U,0]);y.domain(P||d3.extent(et.map((function(t){return t.size})).concat(A))).range(q||Y),I=v.domain()[0]===v.domain()[1]||m.domain()[0]===m.domain()[1],v.domain()[0]===v.domain()[1]&&(v.domain()[0]?v.domain([v.domain()[0]-.01*v.domain()[0],v.domain()[1]+.01*v.domain()[1]]):v.domain([-1,1])),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]):m.domain([-1,1])),isNaN(v.domain()[0])&&v.domain([-1,1]),isNaN(m.domain()[0])&&m.domain([-1,1]),t=t||v,n=n||m,r=r||y;var rt=v(1)!==t(1)||m(1)!==n(1)||y(1)!==r(1);s=s||d;var it=(o=o||c)!==c||s!==d,at=(i=i||[])[0]!==v.domain()[0]||i[1]!==v.domain()[1];i=v.domain(),a=a||[],at=at||a[0]!==m.domain()[0]||a[1]!==m.domain()[1],a=m.domain();var ot=h.selectAll("g.nv-wrap.nv-scatter").data([z]),st=ot.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+g),lt=st.append("defs"),ut=st.append("g"),ct=ot.select("g");function dt(){if($=!1,!S)return!1;if(!0===H){ot.select(".nv-point-paths").selectAll("path").remove();var t=d3.merge(z.map((function(t,n){return t.values.map((function(t,r){var i=b(t,r),a=x(t,r);return[e.utils.NaNtoZero(v(i))+1e-4*Math.random(),e.utils.NaNtoZero(m(a))+1e-4*Math.random(),n,r,t]})).filter((function(t,e){return E(t[4],e)}))})));if(0==t.length)return!1;t.length<3&&(t.push([v.range()[0]-20,m.range()[0]-20,null,null]),t.push([v.range()[1]+20,m.range()[1]+20,null,null]),t.push([v.range()[0]-20,m.range()[0]+20,null,null]),t.push([v.range()[1]+20,m.range()[1]-20,null,null]));var n=d3.geom.polygon([[-10,-10],[-10,d+10],[c+10,d+10],[c+10,-10]]);t=t.sort((function(t,e){return t[0]-e[0]||t[1]-e[1]}));for(var r=0;r<t.length-1;)Math.abs(t[r][0]-t[r+1][0])<1e-4&&Math.abs(t[r][1]-t[r+1][1])<1e-4?t.splice(r+1,1):r++;var i=d3.geom.voronoi(t).map((function(e,r){return{data:n.clip(e),series:t[r][2],point:t[r][3]}})),a=ot.select(".nv-point-paths").selectAll("path").data(i),o=a.enter().append("svg:path").attr("d",(function(t){return t&&t.data&&0!==t.data.length?"M"+t.data.join(",")+"Z":"M 0 0"})).attr("id",(function(t,e){return"nv-path-"+e})).attr("clip-path",(function(t,e){return"url(#nv-clip-"+g+"-"+e+")"}));O&&o.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200)),N&&(ot.select(".nv-point-clips").selectAll("*").remove(),ot.select(".nv-point-clips").selectAll("clipPath").data(t).enter().append("svg:clipPath").attr("id",(function(t,e){return"nv-clip-"+g+"-"+e})).append("svg:circle").attr("cx",(function(t){return t[0]})).attr("cy",(function(t){return t[1]})).attr("r",_));var s=function(t,e,n){if($)return 0;var r=z[e.series];if(void 0!==r){var i=r.values[e.point];i.color=f(r,e.series),i.x=b(i),i.y=x(i);var a=h.node().getBoundingClientRect(),o=window.pageYOffset||document.documentElement.scrollTop,s=window.pageXOffset||document.documentElement.scrollLeft;n({point:i,series:r,pos:{left:v(b(i,e.point))+a.left+s+u.left+10,top:m(x(i,e.point))+a.top+o+u.top+10},relativePos:[v(b(i,e.point))+u.left,m(x(i,e.point))+u.top],seriesIndex:e.series,pointIndex:e.point,event:d3.event,element:t})}};a.on("click",(function(t){s(this,t,V.elementClick)})).on("dblclick",(function(t){s(this,t,V.elementDblClick)})).on("mouseover",(function(t){s(this,t,V.elementMouseover)})).on("mouseout",(function(t,e){s(this,t,V.elementMouseout)}))}else ot.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",(function(t,e){if($||!z[t.series])return 0;var n=z[t.series],r=n.values[e];V.elementClick({point:r,series:n,pos:[v(b(r,e))+u.left,m(x(r,e))+u.top],relativePos:[v(b(r,e))+u.left,m(x(r,e))+u.top],seriesIndex:t.series,pointIndex:e,event:d3.event,element:this})})).on("dblclick",(function(t,e){if($||!z[t.series])return 0;var n=z[t.series],r=n.values[e];V.elementDblClick({point:r,series:n,pos:[v(b(r,e))+u.left,m(x(r,e))+u.top],relativePos:[v(b(r,e))+u.left,m(x(r,e))+u.top],seriesIndex:t.series,pointIndex:e})})).on("mouseover",(function(t,e){if($||!z[t.series])return 0;var n=z[t.series],r=n.values[e];V.elementMouseover({point:r,series:n,pos:[v(b(r,e))+u.left,m(x(r,e))+u.top],relativePos:[v(b(r,e))+u.left,m(x(r,e))+u.top],seriesIndex:t.series,pointIndex:e,color:f(t,e)})})).on("mouseout",(function(t,e){if($||!z[t.series])return 0;var n=z[t.series],r=n.values[e];V.elementMouseout({point:r,series:n,pos:[v(b(r,e))+u.left,m(x(r,e))+u.top],relativePos:[v(b(r,e))+u.left,m(x(r,e))+u.top],seriesIndex:t.series,pointIndex:e,color:f(t,e)})}))}ot.classed("nv-single-point",I),ut.append("g").attr("class","nv-groups"),ut.append("g").attr("class","nv-point-paths"),st.append("g").attr("class","nv-point-clips"),ot.attr("transform","translate("+u.left+","+u.top+")"),lt.append("clipPath").attr("id","nv-edge-clip-"+g).append("rect").attr("transform","translate( -10, -10)"),ot.select("#nv-edge-clip-"+g+" rect").attr("width",X+20).attr("height",U>0?U+20:0),ct.attr("clip-path",F?"url(#nv-edge-clip-"+g+")":""),$=!0;var ft=ot.select(".nv-groups").selectAll(".nv-group").data((function(t){return t}),(function(t){return t.key}));ft.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),ft.exit().remove(),ft.attr("class",(function(t,e){return(t.classed||"")+" nv-group nv-series-"+e})).classed("nv-noninteractive",!S).classed("hover",(function(t){return t.hover})),ft.watchTransition(G,"scatter: groups").style("fill",(function(t,e){return f(t,e)})).style("stroke",(function(t,e){return t.pointBorderColor||p||f(t,e)})).style("stroke-opacity",1).style("fill-opacity",.5);var pt=ft.selectAll("path.nv-point").data((function(t){return t.values.map((function(t,e){return[t,e]})).filter((function(t,e){return E(t[0],e)}))}));if(pt.enter().append("path").attr("class",(function(t){return"nv-point nv-point-"+t[1]})).style("fill",(function(t){return t.color})).style("stroke",(function(t){return t.color})).attr("transform",(function(r){return"translate("+e.utils.NaNtoZero(t(b(r[0],r[1])))+","+e.utils.NaNtoZero(n(x(r[0],r[1])))+")"})).attr("d",e.utils.symbol().type((function(t){return w(t[0])})).size((function(t){return y(k(t[0],t[1]))}))),pt.exit().each(Z).remove(),ft.exit().selectAll("path.nv-point").watchTransition(G,"scatter exit").attr("transform",(function(t){return"translate("+e.utils.NaNtoZero(v(b(t[0],t[1])))+","+e.utils.NaNtoZero(m(x(t[0],t[1])))+")"})).remove(),pt.filter((function(t){return K(t,"x",b,"y",x)||rt||it||at})).watchTransition(G,"scatter points").attr("transform",(function(t){return"translate("+e.utils.NaNtoZero(v(b(t[0],t[1])))+","+e.utils.NaNtoZero(m(x(t[0],t[1])))+")"})),pt.filter((function(t){return K(t,"shape",w,"size",k)||rt||it||at})).watchTransition(G,"scatter points").attr("d",e.utils.symbol().type((function(t){return w(t[0])})).size((function(t){return y(k(t[0],t[1]))}))),Q){var gt=ft.selectAll(".nv-label").data((function(t){return t.values.map((function(t,e){return[t,e]})).filter((function(t,e){return E(t[0],e)}))}));gt.enter().append("text").style("fill",(function(t,e){return t.color})).style("stroke-opacity",0).style("fill-opacity",1).attr("transform",(function(r){return"translate("+(e.utils.NaNtoZero(t(b(r[0],r[1])))+Math.sqrt(y(k(r[0],r[1]))/Math.PI)+2)+","+e.utils.NaNtoZero(n(x(r[0],r[1])))+")"})).text((function(t,e){return t[0].label})),gt.exit().remove(),ft.exit().selectAll("path.nv-label").watchTransition(G,"scatter exit").attr("transform",(function(t){return"translate("+(e.utils.NaNtoZero(v(b(t[0],t[1])))+Math.sqrt(y(k(t[0],t[1]))/Math.PI)+2)+","+e.utils.NaNtoZero(m(x(t[0],t[1])))+")"})).remove(),gt.each((function(t){d3.select(this).classed("nv-label",!0).classed("nv-label-"+t[1],!1).classed("hover",!1)})),gt.watchTransition(G,"scatter labels").attr("transform",(function(t){return"translate("+(e.utils.NaNtoZero(v(b(t[0],t[1])))+Math.sqrt(y(k(t[0],t[1]))/Math.PI)+2)+","+e.utils.NaNtoZero(m(x(t[0],t[1])))+")"}))}j?(clearTimeout(l),l=setTimeout(dt,j)):dt(),t=v.copy(),n=m.copy(),r=y.copy(),o=c,s=d})),G.renderEnd("scatter immediate"),J}return J.dispatch=V,J.options=e.utils.optionsFunc.bind(J),J._calls=new function(){this.clearHighlights=function(){return e.dom.write((function(){h.selectAll(".nv-point.hover").classed("hover",!1)})),null},this.highlightPoint=function(t,n,r){e.dom.write((function(){h.select(".nv-groups").selectAll(".nv-series-"+t).selectAll(".nv-point-"+n).classed("hover",r)}))}},V.on("elementMouseover.point",(function(t){S&&J._calls.highlightPoint(t.seriesIndex,t.pointIndex,!0)})),V.on("elementMouseout.point",(function(t){S&&J._calls.highlightPoint(t.seriesIndex,t.pointIndex,!1)})),J._options=Object.create({},{width:{get:function(){return c},set:function(t){c=t}},height:{get:function(){return d},set:function(t){d=t}},xScale:{get:function(){return v},set:function(t){v=t}},yScale:{get:function(){return m},set:function(t){m=t}},pointScale:{get:function(){return y},set:function(t){y=t}},xDomain:{get:function(){return W},set:function(t){W=t}},yDomain:{get:function(){return L},set:function(t){L=t}},pointDomain:{get:function(){return P},set:function(t){P=t}},xRange:{get:function(){return B},set:function(t){B=t}},yRange:{get:function(){return R},set:function(t){R=t}},pointRange:{get:function(){return q},set:function(t){q=t}},forceX:{get:function(){return C},set:function(t){C=t}},forceY:{get:function(){return M},set:function(t){M=t}},forcePoint:{get:function(){return A},set:function(t){A=t}},interactive:{get:function(){return S},set:function(t){S=t}},pointActive:{get:function(){return E},set:function(t){E=t}},padDataOuter:{get:function(){return T},set:function(t){T=t}},padData:{get:function(){return D},set:function(t){D=t}},clipEdge:{get:function(){return F},set:function(t){F=t}},clipVoronoi:{get:function(){return N},set:function(t){N=t}},clipRadius:{get:function(){return _},set:function(t){_=t}},showVoronoi:{get:function(){return O},set:function(t){O=t}},id:{get:function(){return g},set:function(t){g=t}},interactiveUpdateDelay:{get:function(){return j},set:function(t){j=t}},showLabels:{get:function(){return Q},set:function(t){Q=t}},pointBorderColor:{get:function(){return p},set:function(t){p=t}},x:{get:function(){return b},set:function(t){b=d3.functor(t)}},y:{get:function(){return x},set:function(t){x=d3.functor(t)}},pointSize:{get:function(){return k},set:function(t){k=d3.functor(t)}},pointShape:{get:function(){return w},set:function(t){w=d3.functor(t)}},margin:{get:function(){return u},set:function(t){u.top=void 0!==t.top?t.top:u.top,u.right=void 0!==t.right?t.right:u.right,u.bottom=void 0!==t.bottom?t.bottom:u.bottom,u.left=void 0!==t.left?t.left:u.left}},duration:{get:function(){return z},set:function(t){z=t,G.reset(z)}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t)}},useVoronoi:{get:function(){return H},set:function(t){!1===(H=t)&&(N=!1)}}}),e.utils.initOptions(J),J},e.models.scatterChart=function(){"use strict";var t=e.models.scatter(),n=e.models.axis(),r=e.models.axis(),i=e.models.legend(),a=e.models.distribution(),o=e.models.distribution(),s=e.models.tooltip(),l={top:30,right:20,bottom:50,left:75},u=null,c=null,d=null,f=null,p=e.utils.defaultColor(),g=t.xScale(),h=t.yScale(),v=!1,m=!1,y=!0,b=!0,x=!0,k=!1,w=e.utils.state(),C=null,M=d3.dispatch("stateChange","changeState","renderEnd"),A=null,S=250,E=!1;t.xScale(g).yScale(h),n.orient("bottom").tickPadding(10),r.orient(k?"right":"left").tickPadding(10),a.axis("x"),o.axis("y"),s.headerFormatter((function(t,e){return n.tickFormat()(t,e)})).valueFormatter((function(t,e){return r.tickFormat()(t,e)}));var D=e.utils.renderWatch(M,S);function T(A){return D.reset(),D.models(t),b&&D.models(n),x&&D.models(r),v&&D.models(a),m&&D.models(o),A.each((function(A){f=d3.select(this),e.utils.initSVG(f);var F,N=e.utils.availableWidth(c,f,l),O=e.utils.availableHeight(d,f,l);if(T.update=function(){0===S?f.call(T):f.transition().duration(S).call(T)},T.container=this,w.setter(function(t){return function(e){void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(A),T.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled}))}}}(A)).update(),w.disabled=A.map((function(t){return!!t.disabled})),!C)for(F in C={},w)w[F]instanceof Array?C[F]=w[F].slice(0):C[F]=w[F];if(!(A&&A.length&&A.filter((function(t){return t.values.length})).length))return e.utils.noData(T,f),D.renderEnd("scatter immediate"),T;f.selectAll(".nv-noData").remove(),g=t.xScale(),h=t.yScale();var _=f.selectAll("g.nv-wrap.nv-scatterChart").data([A]),W=_.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+t.id()).append("g"),L=_.select("g");if(W.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),W.append("g").attr("class","nv-x nv-axis"),W.append("g").attr("class","nv-y nv-axis"),W.append("g").attr("class","nv-scatterWrap"),W.append("g").attr("class","nv-regressionLinesWrap"),W.append("g").attr("class","nv-distWrap"),W.append("g").attr("class","nv-legendWrap"),k&&L.select(".nv-y.nv-axis").attr("transform","translate("+N+",0)"),y){var B=N;i.width(B),_.select(".nv-legendWrap").datum(A).call(i),u||i.height()===l.top||(l.top=i.height(),O=e.utils.availableHeight(d,f,l)),_.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")}else L.select(".nv-legendWrap").selectAll("*").remove();_.attr("transform","translate("+l.left+","+l.top+")"),t.width(N).height(O).color(A.map((function(t,e){return t.color=t.color||p(t,e),t.color})).filter((function(t,e){return!A[e].disabled}))).showLabels(E),_.select(".nv-scatterWrap").datum(A.filter((function(t){return!t.disabled}))).call(t),_.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+t.id()+")");var R=_.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data((function(t){return t}));R.enter().append("g").attr("class","nv-regLines");var P=R.selectAll(".nv-regLine").data((function(t){return[t]}));P.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0),P.filter((function(t){return t.intercept&&t.slope})).watchTransition(D,"scatterPlusLineChart: regline").attr("x1",g.range()[0]).attr("x2",g.range()[1]).attr("y1",(function(t,e){return h(g.domain()[0]*t.slope+t.intercept)})).attr("y2",(function(t,e){return h(g.domain()[1]*t.slope+t.intercept)})).style("stroke",(function(t,e,n){return p(t,n)})).style("stroke-opacity",(function(t,e){return t.disabled||void 0===t.slope||void 0===t.intercept?0:1})),b&&(n.scale(g)._ticks(e.utils.calcTicksX(N/100,A)).tickSize(-O,0),L.select(".nv-x.nv-axis").attr("transform","translate(0,"+h.range()[0]+")").call(n)),x&&(r.scale(h)._ticks(e.utils.calcTicksY(O/36,A)).tickSize(-N,0),L.select(".nv-y.nv-axis").call(r)),v&&(a.getData(t.x()).scale(g).width(N).color(A.map((function(t,e){return t.color||p(t,e)})).filter((function(t,e){return!A[e].disabled}))),W.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),L.select(".nv-distributionX").attr("transform","translate(0,"+h.range()[0]+")").datum(A.filter((function(t){return!t.disabled}))).call(a)),m&&(o.getData(t.y()).scale(h).width(O).color(A.map((function(t,e){return t.color||p(t,e)})).filter((function(t,e){return!A[e].disabled}))),W.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),L.select(".nv-distributionY").attr("transform","translate("+(k?N:-o.size())+",0)").datum(A.filter((function(t){return!t.disabled}))).call(o)),i.dispatch.on("stateChange",(function(t){for(var e in t)w[e]=t[e];M.stateChange(w),T.update()})),M.on("changeState",(function(t){void 0!==t.disabled&&(A.forEach((function(e,n){e.disabled=t.disabled[n]})),w.disabled=t.disabled),T.update()})),t.dispatch.on("elementMouseout.tooltip",(function(e){s.hidden(!0),f.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",0),f.select(".nv-chart-"+t.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",o.size())})),t.dispatch.on("elementMouseover.tooltip",(function(t){f.select(".nv-series-"+t.seriesIndex+" .nv-distx-"+t.pointIndex).attr("y1",t.relativePos[1]-O),f.select(".nv-series-"+t.seriesIndex+" .nv-disty-"+t.pointIndex).attr("x2",t.relativePos[0]+a.size()),s.data(t).hidden(!1)})),g.copy(),h.copy()})),D.renderEnd("scatter with line immediate"),T}return T.dispatch=M,T.scatter=t,T.legend=i,T.xAxis=n,T.yAxis=r,T.distX=a,T.distY=o,T.tooltip=s,T.options=e.utils.optionsFunc.bind(T),T._options=Object.create({},{width:{get:function(){return c},set:function(t){c=t}},height:{get:function(){return d},set:function(t){d=t}},container:{get:function(){return f},set:function(t){f=t}},showDistX:{get:function(){return v},set:function(t){v=t}},showDistY:{get:function(){return m},set:function(t){m=t}},showLegend:{get:function(){return y},set:function(t){y=t}},showXAxis:{get:function(){return b},set:function(t){b=t}},showYAxis:{get:function(){return x},set:function(t){x=t}},defaultState:{get:function(){return C},set:function(t){C=t}},noData:{get:function(){return A},set:function(t){A=t}},duration:{get:function(){return S},set:function(t){S=t}},showLabels:{get:function(){return E},set:function(t){E=t}},margin:{get:function(){return l},set:function(t){void 0!==t.top&&(l.top=t.top,u=t.top),l.right=void 0!==t.right?t.right:l.right,l.bottom=void 0!==t.bottom?t.bottom:l.bottom,l.left=void 0!==t.left?t.left:l.left}},rightAlignYAxis:{get:function(){return k},set:function(t){k=t,r.orient(t?"right":"left")}},color:{get:function(){return p},set:function(t){p=e.utils.getColor(t),i.color(p),a.color(p),o.color(p)}}}),e.utils.inheritOptions(T,t),e.utils.initOptions(T),T},e.models.sparkline=function(){"use strict";var t,n,r,i,a={top:2,right:0,bottom:2,left:0},o=400,s=32,l=null,u=!0,c=d3.scale.linear(),d=d3.scale.linear(),f=function(t){return t.x},p=function(t){return t.y},g=e.utils.getColor(["#000"]),h=!0,v=!0,m=d3.dispatch("renderEnd"),y=e.utils.renderWatch(m);function b(u){return y.reset(),u.each((function(u){var m=o-a.left-a.right,y=s-a.top-a.bottom;l=d3.select(this),e.utils.initSVG(l),c.domain(t||d3.extent(u,f)).range(r||[0,m]),d.domain(n||d3.extent(u,p)).range(i||[y,0]);var b=l.selectAll("g.nv-wrap.nv-sparkline").data([u]);b.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline").append("g"),b.select("g"),b.attr("transform","translate("+a.left+","+a.top+")");var x=b.selectAll("path").data((function(t){return[t]}));x.enter().append("path"),x.exit().remove(),x.style("stroke",(function(t,e){return t.color||g(t,e)})).attr("d",d3.svg.line().x((function(t,e){return c(f(t,e))})).y((function(t,e){return d(p(t,e))})));var k=b.selectAll("circle.nv-point").data((function(t){var e=t.map((function(t,e){return p(t,e)}));function n(e){if(-1!=e){var n=t[e];return n.pointIndex=e,n}return null}var r=n(e.lastIndexOf(d.domain()[1])),i=n(e.indexOf(d.domain()[0])),a=n(e.length-1);return[h?i:null,h?r:null,v?a:null].filter((function(t){return null!=t}))}));k.enter().append("circle"),k.exit().remove(),k.attr("cx",(function(t,e){return c(f(t,t.pointIndex))})).attr("cy",(function(t,e){return d(p(t,t.pointIndex))})).attr("r",2).attr("class",(function(t,e){return f(t,t.pointIndex)==c.domain()[1]?"nv-point nv-currentValue":p(t,t.pointIndex)==d.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"}))})),y.renderEnd("sparkline immediate"),b}return b.options=e.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},xDomain:{get:function(){return t},set:function(e){t=e}},yDomain:{get:function(){return n},set:function(t){n=t}},xRange:{get:function(){return r},set:function(t){r=t}},yRange:{get:function(){return i},set:function(t){i=t}},xScale:{get:function(){return c},set:function(t){c=t}},yScale:{get:function(){return d},set:function(t){d=t}},animate:{get:function(){return u},set:function(t){u=t}},showMinMaxPoints:{get:function(){return h},set:function(t){h=t}},showCurrentPoint:{get:function(){return v},set:function(t){v=t}},x:{get:function(){return f},set:function(t){f=d3.functor(t)}},y:{get:function(){return p},set:function(t){p=d3.functor(t)}},margin:{get:function(){return a},set:function(t){a.top=void 0!==t.top?t.top:a.top,a.right=void 0!==t.right?t.right:a.right,a.bottom=void 0!==t.bottom?t.bottom:a.bottom,a.left=void 0!==t.left?t.left:a.left}},color:{get:function(){return g},set:function(t){g=e.utils.getColor(t)}}}),b.dispatch=m,e.utils.initOptions(b),b},e.models.sparklinePlus=function(){"use strict";var t,n,r=e.models.sparkline(),i={top:15,right:100,bottom:10,left:50},a=null,o=null,s=[],l=!1,u=d3.format(",r"),c=d3.format(",.2f"),d=!0,f=!0,p=!1,g=null,h=d3.dispatch("renderEnd"),v=e.utils.renderWatch(h);function m(g){return v.reset(),v.models(r),g.each((function(g){var h=d3.select(this);e.utils.initSVG(h);var v=e.utils.availableWidth(a,h,i),y=e.utils.availableHeight(o,h,i);if(m.update=function(){h.call(m)},m.container=this,!g||!g.length)return e.utils.noData(m,h),m;h.selectAll(".nv-noData").remove();var b=r.y()(g[g.length-1],g.length-1);t=r.xScale(),n=r.yScale();var x=h.selectAll("g.nv-wrap.nv-sparklineplus").data([g]),k=x.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus").append("g"),w=x.select("g");k.append("g").attr("class","nv-sparklineWrap"),k.append("g").attr("class","nv-valueWrap"),k.append("g").attr("class","nv-hoverArea"),x.attr("transform","translate("+i.left+","+i.top+")");var C=w.select(".nv-sparklineWrap");if(r.width(v).height(y),C.call(r),d){var M=w.select(".nv-valueWrap").selectAll(".nv-currentValue").data([b]);M.enter().append("text").attr("class","nv-currentValue").attr("dx",p?-8:8).attr("dy",".9em").style("text-anchor",p?"end":"start"),M.attr("x",v+(p?i.right:0)).attr("y",f?function(t){return n(t)}:0).style("fill",r.color()(g[g.length-1],g.length-1)).text(c(b))}function A(){if(!l){var e=w.selectAll(".nv-hoverValue").data(s),n=e.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);e.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),e.attr("transform",(function(e){return"translate("+t(r.x()(g[e],e))+",0)"})).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1),s.length&&(n.append("line").attr("x1",0).attr("y1",-i.top).attr("x2",0).attr("y2",y),n.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-i.top).attr("text-anchor","end").attr("dy",".9em"),w.select(".nv-hoverValue .nv-xValue").text(u(r.x()(g[s[0]],s[0]))),n.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-i.top).attr("text-anchor","start").attr("dy",".9em"),w.select(".nv-hoverValue .nv-yValue").text(c(r.y()(g[s[0]],s[0]))))}}k.select(".nv-hoverArea").append("rect").on("mousemove",(function(){if(!l){var e=d3.mouse(this)[0]-i.left;s=[function(t,e){for(var n=Math.abs(r.x()(t[0],0)-e),i=0,a=0;a<t.length;a++)Math.abs(r.x()(t[a],a)-e)<n&&(n=Math.abs(r.x()(t[a],a)-e),i=a);return i}(g,Math.round(t.invert(e)))],A()}})).on("click",(function(){l=!l})).on("mouseout",(function(){s=[],A()})),w.select(".nv-hoverArea rect").attr("transform",(function(t){return"translate("+-i.left+","+-i.top+")"})).attr("width",v+i.left+i.right).attr("height",y+i.top)})),v.renderEnd("sparklinePlus immediate"),m}return m.dispatch=h,m.sparkline=r,m.options=e.utils.optionsFunc.bind(m),m._options=Object.create({},{width:{get:function(){return a},set:function(t){a=t}},height:{get:function(){return o},set:function(t){o=t}},xTickFormat:{get:function(){return u},set:function(t){u=t}},yTickFormat:{get:function(){return c},set:function(t){c=t}},showLastValue:{get:function(){return d},set:function(t){d=t}},alignValue:{get:function(){return f},set:function(t){f=t}},rightAlignValue:{get:function(){return p},set:function(t){p=t}},noData:{get:function(){return g},set:function(t){g=t}},margin:{get:function(){return i},set:function(t){i.top=void 0!==t.top?t.top:i.top,i.right=void 0!==t.right?t.right:i.right,i.bottom=void 0!==t.bottom?t.bottom:i.bottom,i.left=void 0!==t.left?t.left:i.left}}}),e.utils.inheritOptions(m,r),e.utils.initOptions(m),m},e.models.stackedArea=function(){"use strict";var t,n,r={top:0,right:0,bottom:0,left:0},i=960,a=500,o=e.utils.defaultColor(),s=Math.floor(1e5*Math.random()),l=null,u=function(t){return t.x},c=function(t){return t.y},d=function(t,e){return!isNaN(c(t,e))&&null!==c(t,e)},f="stack",p="zero",g="default",h="linear",v=!1,m=e.models.scatter(),y=250,b=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");m.pointSize(2.2).pointDomain([2.2,2.2]);var x=e.utils.renderWatch(b,y);function k(f){return x.reset(),x.models(m),f.each((function(f){var y=i-r.left-r.right,w=a-r.top-r.bottom;l=d3.select(this),e.utils.initSVG(l),t=m.xScale(),n=m.yScale();var C=f;f.forEach((function(t,e){t.seriesIndex=e,t.values=t.values.map((function(t,n){return t.index=n,t.seriesIndex=e,t}))}));var M=f.filter((function(t){return!t.disabled}));f=d3.layout.stack().order(g).offset(p).values((function(t){return t.values})).x(u).y(c).out((function(t,e,n){t.display={y:n,y0:e}}))(M);var A=l.selectAll("g.nv-wrap.nv-stackedarea").data([f]),S=A.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea"),E=S.append("defs"),D=S.append("g"),T=A.select("g");D.append("g").attr("class","nv-areaWrap"),D.append("g").attr("class","nv-scatterWrap"),A.attr("transform","translate("+r.left+","+r.top+")"),0==m.forceY().length&&m.forceY().push(0),m.width(y).height(w).x(u).y((function(t){if(void 0!==t.display)return t.display.y+t.display.y0})).color(f.map((function(t,e){return t.color=t.color||o(t,t.seriesIndex),t.color}))),T.select(".nv-scatterWrap").datum(f).call(m),E.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),A.select("#nv-edge-clip-"+s+" rect").attr("width",y).attr("height",w),T.attr("clip-path",v?"url(#nv-edge-clip-"+s+")":"");var F=d3.svg.area().defined(d).x((function(e,n){return t(u(e,n))})).y0((function(t){return n(t.display.y0)})).y1((function(t){return n(t.display.y+t.display.y0)})).interpolate(h),N=d3.svg.area().defined(d).x((function(e,n){return t(u(e,n))})).y0((function(t){return n(t.display.y0)})).y1((function(t){return n(t.display.y0)})),O=T.select(".nv-areaWrap").selectAll("path.nv-area").data((function(t){return t}));O.enter().append("path").attr("class",(function(t,e){return"nv-area nv-area-"+e})).attr("d",(function(t,e){return N(t.values,t.seriesIndex)})).on("mouseover",(function(t,e){d3.select(this).classed("hover",!0),b.areaMouseover({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})})).on("mouseout",(function(t,e){d3.select(this).classed("hover",!1),b.areaMouseout({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})})).on("click",(function(t,e){d3.select(this).classed("hover",!1),b.areaClick({point:t,series:t.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t.seriesIndex})})),O.exit().remove(),O.style("fill",(function(t,e){return t.color||o(t,t.seriesIndex)})).style("stroke",(function(t,e){return t.color||o(t,t.seriesIndex)})),O.watchTransition(x,"stackedArea path").attr("d",(function(t,e){return F(t.values,e)})),m.dispatch.on("elementMouseover.area",(function(t){T.select(".nv-chart-"+s+" .nv-area-"+t.seriesIndex).classed("hover",!0)})),m.dispatch.on("elementMouseout.area",(function(t){T.select(".nv-chart-"+s+" .nv-area-"+t.seriesIndex).classed("hover",!1)})),k.d3_stackedOffset_stackPercent=function(t){var e,n,r,i=t.length,a=t[0].length,o=[];for(n=0;n<a;++n){for(e=0,r=0;e<C.length;e++)r+=c(C[e].values[n]);if(r)for(e=0;e<i;e++)t[e][n][1]/=r;else for(e=0;e<i;e++)t[e][n][1]=0}for(n=0;n<a;++n)o[n]=0;return o}})),x.renderEnd("stackedArea immediate"),k}return k.dispatch=b,k.scatter=m,m.dispatch.on("elementClick",(function(){b.elementClick.apply(this,arguments)})),m.dispatch.on("elementMouseover",(function(){b.elementMouseover.apply(this,arguments)})),m.dispatch.on("elementMouseout",(function(){b.elementMouseout.apply(this,arguments)})),k.interpolate=function(t){return arguments.length?(h=t,k):h},k.duration=function(t){return arguments.length?(y=t,x.reset(y),m.duration(y),k):y},k.dispatch=b,k.scatter=m,k.options=e.utils.optionsFunc.bind(k),k._options=Object.create({},{width:{get:function(){return i},set:function(t){i=t}},height:{get:function(){return a},set:function(t){a=t}},defined:{get:function(){return d},set:function(t){d=t}},clipEdge:{get:function(){return v},set:function(t){v=t}},offset:{get:function(){return p},set:function(t){p=t}},order:{get:function(){return g},set:function(t){g=t}},interpolate:{get:function(){return h},set:function(t){h=t}},x:{get:function(){return u},set:function(t){u=d3.functor(t)}},y:{get:function(){return c},set:function(t){c=d3.functor(t)}},margin:{get:function(){return r},set:function(t){r.top=void 0!==t.top?t.top:r.top,r.right=void 0!==t.right?t.right:r.right,r.bottom=void 0!==t.bottom?t.bottom:r.bottom,r.left=void 0!==t.left?t.left:r.left}},color:{get:function(){return o},set:function(t){o=e.utils.getColor(t)}},style:{get:function(){return f},set:function(t){switch(f=t){case"stack":k.offset("zero"),k.order("default");break;case"stream":k.offset("wiggle"),k.order("inside-out");break;case"stream-center":k.offset("silhouette"),k.order("inside-out");break;case"expand":k.offset("expand"),k.order("default");break;case"stack_percent":k.offset(k.d3_stackedOffset_stackPercent),k.order("default")}}},duration:{get:function(){return y},set:function(t){y=t,x.reset(y),m.duration(y)}}}),e.utils.inheritOptions(k,m),e.utils.initOptions(k),k},e.models.stackedAreaChart=function(){"use strict";var t,n,r=e.models.stackedArea(),i=e.models.axis(),a=e.models.axis(),o=e.models.legend(),s=e.models.legend(),l=e.interactiveGuideline(),u=e.models.tooltip(),c=e.models.focus(e.models.stackedArea()),d={top:10,right:25,bottom:50,left:60},f=null,p=null,g=null,h=e.utils.defaultColor(),v=!0,m=!0,y="top",b=!0,x=!0,k=!1,w=!1,C=!1,M=!0,A="TOTAL",S=e.utils.state(),E=null,D=null,T=d3.dispatch("stateChange","changeState","renderEnd"),F=250,N=["Stacked","Stream","Expanded"],O={},_=250;S.style=r.style(),i.orient("bottom").tickPadding(7),a.orient(k?"right":"left"),u.headerFormatter((function(t,e){return i.tickFormat()(t,e)})).valueFormatter((function(t,e){return a.tickFormat()(t,e)})),l.tooltip.headerFormatter((function(t,e){return i.tickFormat()(t,e)})).valueFormatter((function(t,e){return null==t?"N/A":a.tickFormat()(t,e)}));var W=null,L=null;s.updateState(!1);var B=e.utils.renderWatch(T),R=(r.style(),d3.format("%"));function P(u){return B.reset(),B.models(r),b&&B.models(i),x&&B.models(a),u.each((function(u){var D=d3.select(this);e.utils.initSVG(D);var B,q=e.utils.availableWidth(p,D,d),I=e.utils.availableHeight(g,D,d)-(w?c.height():0);if(P.update=function(){D.transition().duration(_).call(P)},P.container=this,S.setter(function(t){return function(e){void 0!==e.style&&e.style,void 0!==e.active&&t.forEach((function(t,n){t.disabled=!e.active[n]}))}}(u),P.update).getter(function(t){return function(){return{active:t.map((function(t){return!t.disabled})),style:r.style()}}}(u)).update(),S.disabled=u.map((function(t){return!!t.disabled})),!E)for(B in E={},S)S[B]instanceof Array?E[B]=S[B].slice(0):E[B]=S[B];if(!(u&&u.length&&u.filter((function(t){return t.values.length})).length))return e.utils.noData(P,D),P;D.selectAll(".nv-noData").remove(),t=r.xScale(),n=r.yScale();var V=D.selectAll("g.nv-wrap.nv-stackedAreaChart").data([u]),H=V.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),z=V.select("g");H.append("g").attr("class","nv-legendWrap"),H.append("g").attr("class","nv-controlsWrap");var j=H.append("g").attr("class","nv-focus");if(j.append("g").attr("class","nv-background").append("rect"),j.append("g").attr("class","nv-x nv-axis"),j.append("g").attr("class","nv-y nv-axis"),j.append("g").attr("class","nv-stackedWrap"),j.append("g").attr("class","nv-interactive"),H.append("g").attr("class","nv-focusWrap"),m){var Q=v&&"top"===y?q-F:q;if(o.width(Q),z.select(".nv-legendWrap").datum(u).call(o),"bottom"===y){var $=10+(b?12:0);d.bottom=Math.max(o.height()+$,d.bottom);var G=(I=e.utils.availableHeight(g,D,d)-(w?c.height():0))+$;z.select(".nv-legendWrap").attr("transform","translate(0,"+G+")")}else"top"===y&&(f||d.top==o.height()||(d.top=o.height(),I=e.utils.availableHeight(g,D,d)-(w?c.height():0)),z.select(".nv-legendWrap").attr("transform","translate("+(q-Q)+","+-d.top+")"))}else z.select(".nv-legendWrap").selectAll("*").remove();if(v){var Y=[{key:O.stacked||"Stacked",metaKey:"Stacked",disabled:"stack"!=r.style(),style:"stack"},{key:O.stream||"Stream",metaKey:"Stream",disabled:"stream"!=r.style(),style:"stream"},{key:O.expanded||"Expanded",metaKey:"Expanded",disabled:"expand"!=r.style(),style:"expand"},{key:O.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:"stack_percent"!=r.style(),style:"stack_percent"}];F=N.length/3*260,Y=Y.filter((function(t){return-1!==N.indexOf(t.metaKey)})),s.width(F).color(["#444","#444","#444"]),z.select(".nv-controlsWrap").datum(Y).call(s);var X=Math.max(s.height(),m&&"top"===y?o.height():0);d.top!=X&&(d.top=X,I=e.utils.availableHeight(g,D,d)-(w?c.height():0)),z.select(".nv-controlsWrap").attr("transform","translate(0,"+-d.top+")")}else z.select(".nv-controlsWrap").selectAll("*").remove();V.attr("transform","translate("+d.left+","+d.top+")"),k&&z.select(".nv-y.nv-axis").attr("transform","translate("+q+",0)"),C&&(l.width(q).height(I).margin({left:d.left,top:d.top}).svgContainer(D).xScale(t),V.select(".nv-interactive").call(l)),z.select(".nv-focus .nv-background rect").attr("width",q).attr("height",I),r.width(q).height(I).color(u.map((function(t,e){return t.color||h(t,e)})).filter((function(t,e){return!u[e].disabled})));var U,Z=z.select(".nv-focus .nv-stackedWrap").datum(u.filter((function(t){return!t.disabled})));function K(){b&&z.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+I+")").transition().duration(_).call(i)}function J(){if(x){if("expand"===r.style()||"stack_percent"===r.style()){var t=a.tickFormat();W&&t===R||(W=t),a.tickFormat(R)}else W&&(a.tickFormat(W),W=null);z.select(".nv-focus .nv-y.nv-axis").transition().duration(0).call(a)}}if(b&&i.scale(t)._ticks(e.utils.calcTicksX(q/100,u)).tickSize(-I,0),x&&(U="wiggle"===r.offset()?0:e.utils.calcTicksY(I/36,u),a.scale(n)._ticks(U).tickSize(-q,0)),w){c.width(q),z.select(".nv-focusWrap").attr("transform","translate(0,"+(I+d.bottom+c.margin().top)+")").datum(u.filter((function(t){return!t.disabled}))).call(c);var tt=c.brush.empty()?c.xDomain():c.brush.extent();null!==tt&&et(tt)}else Z.transition().call(r),K(),J();function et(t){z.select(".nv-focus .nv-stackedWrap").datum(u.filter((function(t){return!t.disabled})).map((function(e,n){return{key:e.key,area:e.area,classed:e.classed,values:e.values.filter((function(e,n){return r.x()(e,n)>=t[0]&&r.x()(e,n)<=t[1]})),disableTooltip:e.disableTooltip}}))).transition().duration(_).call(r),K(),J()}r.dispatch.on("areaClick.toggle",(function(t){1===u.filter((function(t){return!t.disabled})).length?u.forEach((function(t){t.disabled=!1})):u.forEach((function(e,n){e.disabled=n!=t.seriesIndex})),S.disabled=u.map((function(t){return!!t.disabled})),T.stateChange(S),P.update()})),o.dispatch.on("stateChange",(function(t){for(var e in t)S[e]=t[e];T.stateChange(S),P.update()})),s.dispatch.on("legendClick",(function(t,e){t.disabled&&(Y=Y.map((function(t){return t.disabled=!0,t})),t.disabled=!1,r.style(t.style),S.style=r.style(),T.stateChange(S),P.update())})),l.dispatch.on("elementMousemove",(function(t){r.clearHighlights();var n,i,a,o=[],s=0,c=!0,d=!1;if(u.filter((function(t,e){return t.seriesIndex=e,!t.disabled})).forEach((function(l,f){i=e.interactiveBisect(l.values,t.pointXValue,P.x());var p=l.values[i],g=P.y()(p,i);if(null!=g&&g>0&&(r.highlightPoint(f,i,!0),d=!0),f!==u.length-1||d||r.highlightPoint(f,i,!0),void 0!==p){void 0===n&&(n=p),void 0===a&&(a=P.xScale()(P.x()(p,i)));var v="expand"==r.style()?p.display.y:P.y()(p,i);o.push({key:l.key,value:v,color:h(l,l.seriesIndex),point:p}),M&&"expand"!=r.style()&&null!=v&&(s+=v,c=!1)}})),o.reverse(),o.length>2){var f=P.yScale().invert(t.mouseY),p=null;o.forEach((function(t,e){f=Math.abs(f);var n=Math.abs(t.point.display.y0),r=Math.abs(t.point.display.y);f>=n&&f<=r+n&&(p=e)})),null!=p&&(o[p].highlight=!0)}M&&"expand"!=r.style()&&o.length>=2&&!c&&o.push({key:A,value:s,total:!0});var g=P.x()(n,i),v=l.tooltip.valueFormatter();"expand"===r.style()||"stack_percent"===r.style()?(L||(L=v),v=d3.format(".1%")):L&&(v=L,L=null),l.tooltip.valueFormatter(v).data({value:g,series:o})(),l.renderGuideLine(a)})),l.dispatch.on("elementMouseout",(function(t){r.clearHighlights()})),c.dispatch.on("onBrush",(function(t){et(t)})),T.on("changeState",(function(t){void 0!==t.disabled&&u.length===t.disabled.length&&(u.forEach((function(e,n){e.disabled=t.disabled[n]})),S.disabled=t.disabled),void 0!==t.style&&(r.style(t.style),t.style),P.update()}))})),B.renderEnd("stacked Area chart immediate"),P}return r.dispatch.on("elementMouseover.tooltip",(function(t){t.point.x=r.x()(t.point),t.point.y=r.y()(t.point),u.data(t).hidden(!1)})),r.dispatch.on("elementMouseout.tooltip",(function(t){u.hidden(!0)})),P.dispatch=T,P.stacked=r,P.legend=o,P.controls=s,P.xAxis=i,P.x2Axis=c.xAxis,P.yAxis=a,P.y2Axis=c.yAxis,P.interactiveLayer=l,P.tooltip=u,P.focus=c,P.dispatch=T,P.options=e.utils.optionsFunc.bind(P),P._options=Object.create({},{width:{get:function(){return p},set:function(t){p=t}},height:{get:function(){return g},set:function(t){g=t}},showLegend:{get:function(){return m},set:function(t){m=t}},legendPosition:{get:function(){return y},set:function(t){y=t}},showXAxis:{get:function(){return b},set:function(t){b=t}},showYAxis:{get:function(){return x},set:function(t){x=t}},defaultState:{get:function(){return E},set:function(t){E=t}},noData:{get:function(){return D},set:function(t){D=t}},showControls:{get:function(){return v},set:function(t){v=t}},controlLabels:{get:function(){return O},set:function(t){O=t}},controlOptions:{get:function(){return N},set:function(t){N=t}},showTotalInTooltip:{get:function(){return M},set:function(t){M=t}},totalLabel:{get:function(){return A},set:function(t){A=t}},focusEnable:{get:function(){return w},set:function(t){w=t}},focusHeight:{get:function(){return c.height()},set:function(t){c.height(t)}},brushExtent:{get:function(){return c.brushExtent()},set:function(t){c.brushExtent(t)}},margin:{get:function(){return d},set:function(t){void 0!==t.top&&(d.top=t.top,f=t.top),d.right=void 0!==t.right?t.right:d.right,d.bottom=void 0!==t.bottom?t.bottom:d.bottom,d.left=void 0!==t.left?t.left:d.left}},focusMargin:{get:function(){return c.margin},set:function(t){c.margin.top=void 0!==t.top?t.top:c.margin.top,c.margin.right=void 0!==t.right?t.right:c.margin.right,c.margin.bottom=void 0!==t.bottom?t.bottom:c.margin.bottom,c.margin.left=void 0!==t.left?t.left:c.margin.left}},duration:{get:function(){return _},set:function(t){_=t,B.reset(_),r.duration(_),i.duration(_),a.duration(_)}},color:{get:function(){return h},set:function(t){h=e.utils.getColor(t),o.color(h),r.color(h),c.color(h)}},x:{get:function(){return r.x()},set:function(t){r.x(t),c.x(t)}},y:{get:function(){return r.y()},set:function(t){r.y(t),c.y(t)}},rightAlignYAxis:{get:function(){return k},set:function(t){k=t,a.orient(k?"right":"left")}},useInteractiveGuideline:{get:function(){return C},set:function(t){C=!!t,P.interactive(!t),P.useVoronoi(!t),r.scatter.interactive(!t)}}}),e.utils.inheritOptions(P,r),e.utils.initOptions(P),P},e.models.stackedAreaWithFocusChart=function(){return e.models.stackedAreaChart().margin({bottom:30}).focusEnable(!0)},e.models.sunburst=function(){"use strict";var t,n,r,i,a={top:0,right:0,bottom:0,left:0},o=600,s=600,l="count",u={count:function(t){return 1},value:function(t){return t.value||t.size},size:function(t){return t.value||t.size}},c=Math.floor(1e4*Math.random()),d=null,f=e.utils.defaultColor(),p=!1,g=function(t){return"count"===l?t.name+" #"+t.value:t.name+" "+(t.value||t.size)},h=.02,v=function(t,e){return t.name>e.name},m=function(t,e){return void 0!==t.parent?t.name+"-"+t.parent.name+"-"+e:t.name},y=!0,b=500,x=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd"),k=d3.scale.linear().range([0,2*Math.PI]),w=d3.scale.sqrt(),C=d3.layout.partition().sort(v),M={},A=d3.svg.arc().startAngle((function(t){return Math.max(0,Math.min(2*Math.PI,k(t.x)))})).endAngle((function(t){return Math.max(0,Math.min(2*Math.PI,k(t.x+t.dx)))})).innerRadius((function(t){return Math.max(0,w(t.y))})).outerRadius((function(t){return Math.max(0,w(t.y+t.dy))}));function S(t){return E(t)>90?180:0}function E(t){return(Math.max(0,Math.min(2*Math.PI,k(t.x)))+Math.max(0,Math.min(2*Math.PI,k(t.x+t.dx))))/2*(180/Math.PI)-90}function D(t){var e=Math.max(0,Math.min(2*Math.PI,k(t.x)));return(Math.max(0,Math.min(2*Math.PI,k(t.x+t.dx)))-e)/(2*Math.PI)}function T(t){var e=Math.max(0,Math.min(2*Math.PI,k(t.x)));return Math.max(0,Math.min(2*Math.PI,k(t.x+t.dx)))-e>h}function F(e,n){var r=d3.interpolate(k.domain(),[t.x,t.x+t.dx]),a=d3.interpolate(w.domain(),[t.y,1]),o=d3.interpolate(w.range(),[t.y?20:0,i]);return 0===n?function(){return A(e)}:function(t){return k.domain(r(t)),w.domain(a(t)).range(o(t)),A(e)}}function N(t){var e=d3.interpolate({x:t.x0,dx:t.dx0,y:t.y0,dy:t.dy0},t);return function(n){var r=e(n);return t.x0=r.x,t.dx0=r.dx,t.y0=r.y,t.dy0=r.dy,A(r)}}function O(t){t.forEach((function(t){var e=m(t),n=M[e];n?(t.dx0=n.dx,t.x0=n.x,t.dy0=n.dy,t.y0=n.y):(t.dx0=t.dx,t.x0=t.x,t.dy0=t.dy,t.y0=t.y),function(t){var e=m(t);M[e]||(M[e]={});var n=M[e];n.dx=t.dx,n.x=t.x,n.dy=t.dy,n.y=t.y}(t)}))}function _(e){var n=d.selectAll("text"),r=d.selectAll("path");n.transition().attr("opacity",0),t=e,r.transition().duration(b).attrTween("d",F).each("end",(function(t){t.x>=e.x&&t.x<e.x+e.dx&&t.depth>=e.depth&&d3.select(this.parentNode).select("text").transition().duration(b).text((function(t){return g(t)})).attr("opacity",(function(t){return T(t)?1:0})).attr("transform",(function(){var n=this.getBBox().width;if(0===t.depth)return"translate("+n/2*-1+",0)";if(t.depth===e.depth)return"translate("+(w(t.y)+5)+",0)";var r=E(t),i=S(t);return 0===i?"rotate("+r+")translate("+(w(t.y)+5)+",0)":"rotate("+r+")translate("+(w(t.y)+n+5)+",0)rotate("+i+")"}))}))}var W=e.utils.renderWatch(x);function L(t){return W.reset(),t.each((function(t){d=d3.select(this),n=e.utils.availableWidth(o,d,a),r=e.utils.availableHeight(s,d,a),i=Math.min(n,r)/2,w.range([0,i]);var h=d.select("g.nvd3.nv-wrap.nv-sunburst");h[0][0]?h.attr("transform","translate("+(n/2+a.left+a.right)+","+(r/2+a.top+a.bottom)+")"):h=d.append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+c).attr("transform","translate("+(n/2+a.left+a.right)+","+(r/2+a.top+a.bottom)+")"),d.on("click",(function(t,e){x.chartClick({data:t,index:e,pos:d3.event,id:c})})),C.value(u[l]||u.count);var v=C.nodes(t[0]).reverse();O(v);var k=h.selectAll(".arc-container").data(v,m);k.enter().append("g").attr("class","arc-container").append("path").attr("d",A).style("fill",(function(t){return t.color?t.color:f(y?(t.children?t:t.parent).name:t.name)})).style("stroke","#FFF").on("click",(function(t,e){_(t),x.elementClick({data:t,index:e})})).on("mouseover",(function(t,e){d3.select(this).classed("hover",!0).style("opacity",.8),x.elementMouseover({data:t,color:d3.select(this).style("fill"),percent:D(t)})})).on("mouseout",(function(t,e){d3.select(this).classed("hover",!1).style("opacity",1),x.elementMouseout({data:t})})).on("mousemove",(function(t,e){x.elementMousemove({data:t})})),k.each((function(t){d3.select(this).select("path").transition().duration(b).attrTween("d",N)})),p&&(k.selectAll("text").remove(),k.append("text").text((function(t){return g(t)})).transition().duration(b).attr("opacity",(function(t){return T(t)?1:0})).attr("transform",(function(t){var e=this.getBBox().width;if(0===t.depth)return"rotate(0)translate("+e/2*-1+",0)";var n=E(t),r=S(t);return 0===r?"rotate("+n+")translate("+(w(t.y)+5)+",0)":"rotate("+n+")translate("+(w(t.y)+e+5)+",0)rotate("+r+")"}))),_(v[v.length-1]),k.exit().transition().duration(b).attr("opacity",0).each("end",(function(t){var e=m(t);M[e]=void 0})).remove()})),W.renderEnd("sunburst immediate"),L}return L.dispatch=x,L.options=e.utils.optionsFunc.bind(L),L._options=Object.create({},{width:{get:function(){return o},set:function(t){o=t}},height:{get:function(){return s},set:function(t){s=t}},mode:{get:function(){return l},set:function(t){l=t}},id:{get:function(){return c},set:function(t){c=t}},duration:{get:function(){return b},set:function(t){b=t}},groupColorByParent:{get:function(){return y},set:function(t){y=!!t}},showLabels:{get:function(){return p},set:function(t){p=!!t}},labelFormat:{get:function(){return g},set:function(t){g=t}},labelThreshold:{get:function(){return h},set:function(t){h=t}},sort:{get:function(){return v},set:function(t){v=t}},key:{get:function(){return m},set:function(t){m=t}},margin:{get:function(){return a},set:function(t){a.top=null!=t.top?t.top:a.top,a.right=null!=t.right?t.right:a.right,a.bottom=null!=t.bottom?t.bottom:a.bottom,a.left=null!=t.left?t.left:a.left}},color:{get:function(){return f},set:function(t){f=e.utils.getColor(t)}}}),e.utils.initOptions(L),L},e.models.sunburstChart=function(){"use strict";var t=e.models.sunburst(),n=e.models.tooltip(),r={top:30,right:20,bottom:20,left:20},i=e.utils.defaultColor(),a=!1,o=(Math.round(1e5*Math.random()),null),s=null,l=250,u=d3.dispatch("stateChange","changeState","renderEnd"),c=e.utils.renderWatch(u);function d(n){return c.reset(),c.models(t),n.each((function(n){var i=d3.select(this);e.utils.initSVG(i);var a=e.utils.availableWidth(null,i,r),o=e.utils.availableHeight(null,i,r);if(d.update=function(){0===l?i.call(d):i.transition().duration(l).call(d)},d.container=i,!n||!n.length)return e.utils.noData(d,i),d;i.selectAll(".nv-noData").remove(),t.width(a).height(o).margin(r),i.call(t)})),c.renderEnd("sunburstChart immediate"),d}return n.duration(0).headerEnabled(!1).valueFormatter((function(t){return t})),t.dispatch.on("elementMouseover.tooltip",(function(t){t.series={key:t.data.name,value:t.data.value||t.data.size,color:t.color,percent:t.percent},a||(delete t.percent,delete t.series.percent),n.data(t).hidden(!1)})),t.dispatch.on("elementMouseout.tooltip",(function(t){n.hidden(!0)})),t.dispatch.on("elementMousemove.tooltip",(function(t){n()})),d.dispatch=u,d.sunburst=t,d.tooltip=n,d.options=e.utils.optionsFunc.bind(d),d._options=Object.create({},{noData:{get:function(){return s},set:function(t){s=t}},defaultState:{get:function(){return o},set:function(t){o=t}},showTooltipPercent:{get:function(){return a},set:function(t){a=t}},color:{get:function(){return i},set:function(e){i=e,t.color(i)}},duration:{get:function(){return l},set:function(e){l=e,c.reset(l),t.duration(l)}},margin:{get:function(){return r},set:function(e){r.top=void 0!==e.top?e.top:r.top,r.right=void 0!==e.right?e.right:r.right,r.bottom=void 0!==e.bottom?e.bottom:r.bottom,r.left=void 0!==e.left?e.left:r.left,t.margin(r)}}}),e.utils.inheritOptions(d,t),e.utils.initOptions(d),d},e.version="1.8.6",d3}.apply(e,r))||(t.exports=i)},57:function(t,e,n){"use strict";n.r(e),n.d(e,"ChartData",(function(){return r}));class r{static get DEFAULT_MULTIPLIER(){return 1.2}static get MAXIMUM_DIVISIONS(){return 10}static get COLORS(){return["#003663","#E84E0F","#02A99A","#999999"]}constructor(t,e,n,r){this.filter=r,this.initialChartSetup(t,e,n)}initialChartSetup(t,e,n,r=!0){this.disableRangeUpdate=e,this.disableOldDataRemoval=n,this.translateService=t,this.range=150,this.chartOptions=this.getDefaultChartOptions(t),this.chartSetup(this.chartOptions),r&&(this.dataHolder=this.createDataHolder(),this.firstLoad=!0)}refresh(){this.initialChartSetup(this.translateService,this.disableRangeUpdate,this.disableOldDataRemoval,!1),this.translateLabels(this.dataHolder),this.updateRange(this.dataHolder)}translateLabels(t){this.createDataHolder().forEach((e,n)=>{t[n].originalKey?t[n].originalKey=e.key:t[n].key=e.key})}setSubTitle(t){this.chartOptions.title.enable=!0;const e=t.map(t=>{if(Array.isArray(t.value)&&!t.value.length)return;const e=Array.isArray(t.value)?t.value.join("/"):t.value;return t.label+(void 0!==e?`<span class="data-value">${e}</span>`:"")});this.chartOptions.title.html=e.map(t=>`<span class="info-element">${t}</span>`)}chartSetup(t){}createDataHolder(){throw new Error("Must implement data holder creation")}addData(t,e){this.removeOldData(this.dataHolder,this.range),this.addNewData(this.dataHolder,t,e,this.isFirstLoad()),this.updateRange(this.dataHolder),this.firstLoad&&(this.firstLoad=!1)}removeOldData(t,e){this.disableOldDataRemoval||t[0].values.length>e&&t.forEach(t=>t.values.shift())}addNewData(t,e,n,r){}updateRange(t,e){if(this.disableRangeUpdate)return;const[n]=r.calculateMaxChartValueAndDivisions(t,e);this.chartOptions.chart.yDomain=[0,n]}isFirstLoad(){return this.firstLoad}getDefaultChartOptions(t){return{chart:{interpolate:"monotone",type:"lineChart",height:500,margin:{left:80,right:80},x:function(t){return t[0]},y:function(t){return t[1]},clipEdge:!0,noData:t.instant("resource.no_data"),showControls:!1,duration:0,rightAlignYAxis:!1,useInteractiveGuideline:!0,xAxis:{showMaxMin:!1,tickFormat:function(t){return d3.time.format("%X")(new Date(t))}},yAxis:{showMaxMin:!1,tickFormat:function(t){return t}},legend:{maxKeyLength:100},color:r.COLORS},title:{enable:!0,className:"chart-additional-info",html:" "}}}static getMaxValueFromDataHolder(t){return Math.max(...t.filter(t=>!t.disabled).flatMap(t=>r.getMaxValueForDataSeries(t)))}static getMaxValueForDataSeries(t){return Math.max(...t.values.map(t=>t[1]))}static calculateMaxChartValueAndDivisions(t,e){let n;n=Array.isArray(t)?r.getMaxValueFromDataHolder(t):r.getMaxValueForDataSeries(t);const i=Math.round(n*(e||r.DEFAULT_MULTIPLIER))||1;return[i,Math.ceil(i/r.MAXIMUM_DIVISIONS)]}static getIntegerRangeForValues(t,e){const[n,i]=r.calculateMaxChartValueAndDivisions(t,e);return d3.range(0,n+1,i)}static formatBytesValue(t,e){let n=t;e&&(n=Math.max(...e.filter(t=>!t.disabled).flatMap(t=>t.values).flatMap(t=>t[1])));const r=Math.floor(Math.log(n)/Math.log(1024));return`${(parseFloat(t)/Math.pow(1024,r)).toFixed(2)} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][r]}`}formatNumber(t){if(t&&this.filter)return this.filter("currency")(t,"",0)}}},58:function(t,e){function n(t,e){return{showToastMessageWithDelay:function(n){return new Promise(r=>{t.success(e.instant(n)),setTimeout(r,200)})}}}angular.module("graphdb.framework.utils.notifications",[]).factory("Notifications",n),n.$inject=["toastr","$translate"]},59:function(t,e,n){"use strict";n.r(e),n.d(e,"HeapMemoryChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!1,!1)}createDataHolder(){return[{key:this.translateService.instant("resource.memory.committed"),values:[]},{key:this.translateService.instant("resource.memory.used"),area:"true",values:[]}]}addNewData(t,e,n){const[r,i]=t,a=this.parseData(n);r.values.push([e,a.committed]),i.values.push([e,a.used]),this.setMaxHeapSize(a.max)}parseData(t){return t.heapMemoryUsage}setMaxHeapSize(t){if(t>0){const e=[{label:this.translateService.instant("resource.memory.heap.max"),value:i.formatBytesValue(t)}];this.setSubTitle(e)}}updateRange(t){this.setScale(t),super.updateRange(t)}setScale(t){this.chartOptions.chart.yAxis.tickFormat=e=>i.formatBytesValue(e,t)}}},61:function(t,e){angular.module("graphdb.framework.rest.cluster.service",[]).factory("ClusterRestService",n),n.$inject=["$http"];function n(t){return{getClusterConfig:function(){return t.get("rest/cluster/config")},createCluster:function(e){return t.post("rest/cluster/config",e)},updateCluster:function(e){e.nodes&&delete e.nodes;return t.patch("rest/cluster/config",e)},deleteCluster:function(e){const n=$.param({force:e});return t.delete("rest/cluster/config?"+n)},addNodesToCluster:function(e){return t.post("rest/cluster/config/node",{nodes:e})},removeNodesFromCluster:function(e){return t.delete("rest/cluster/config/node",{data:{nodes:e},headers:{"Content-Type":"application/json"}})},getClusterStatus:function(){return t.get("rest/cluster/group/status")},getNodeStatus:function(){return t.get("rest/cluster/node/status")}}}},63:function(t,e,n){"use strict";n.r(e);n(10),n(27);var r=n(0);function i(t,e,n,i,a,o,s,l,u,c,d,f,p,g,h){const v={id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:!0,sameAs:!0};let m,y;function b(e){!function(){if(i.isActiveRepoOntopType())return;const e=document.getElementById("sameAs");!e||t.currentQuery.inference||e.disabled?t.currentQuery.inference&&e.disabled&&(e.removeAttribute("disabled"),t.currentQuery.sameAs=m.appSettings.DEFAULT_SAMEAS):(e.disabled=!0,t.currentQuery.sameAs=!1)}(),t.tabs.forEach((function(n,r){n.id===e.id&&(t.tabs[r].query=e.query,i.isActiveRepoOntopType()||(t.tabs[r].inference=e.inference,t.tabs[r].sameAs=e.sameAs))})),p.set(g.TABS_STATE,t.tabs)}function x(e,n,r,i){const a=angular.element(document.getElementById("yasr-inner"));t.queryIsRunning=e,e?(t.queryStartTime=Date.now(),t.countTimeouted=!1,t.progressMessage=n,t.extraMessage=r,t.noLoaderTimer=i,a.addClass("hide")):(t.progressMessage="",t.extraMessage="",t.noLoaderTimer=!1,t.currentTrackAlias=null,t.abortRequested=!1,a.removeClass("hide")),null===t.$$phase&&t.$apply()}function k(n){function r(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0}if(t.orientationViewMode){if("yasr"===t.viewMode){let t=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;t-=40,document.querySelector(".CodeMirror-wrap").style.height=t+"px"}else t.noPadding={},document.querySelector(".CodeMirror-wrap").style.height="";document.getElementById("yasr").style.minHeight=""}else if(t.noPadding={paddingRight:15,paddingLeft:0},window.editor&&document.querySelector(".CodeMirror-wrap")){let t=r()-document.querySelector(".CodeMirror-wrap").getBoundingClientRect().top;t-=40,document.querySelector(".CodeMirror-wrap").style.height=t+"px",document.getElementById("yasr").style.minHeight=t+"px"}else{let r;r=e(n?function(){t.fixSizesOnHorizontalViewModeSwitch(n)}:t.fixSizesOnHorizontalViewModeSwitch,100),t.$on("$destroy",(function(){e.cancel(r)}))}window.yasr&&window.yasr.container&&e((function(){window.yasr.container.resize()}),100)}function w(){k(!0)}function C(e,n){n.newRepo&&(t.tabsData=p.get(g.TABS_STATE),t.tabsData.forEach((function(t){t.yasrData=void 0,t.queryType=void 0,t.resultsCount=0,t.allResultsCount=0,t.sizeDelta=void 0})),p.set(g.TABS_STATE,t.tabsData),t.tabs=t.tabsData,t.currentQuery={},t.errorMessage=null,t.repositoryError=null)}function M(t){e((function(){$('a[data-id = "'+t+'"]').tab("show")}),0)}function A(r,a){if(t.executedQueryTab=t.currentQuery,a){if("SELECT"!==window.editor.getQueryType()&&"CONSTRUCT"!==window.editor.getQueryType()&&"DESCRIBE"!==window.editor.getQueryType())return void n.warning(h.instant("query.editor.warning.msg"));if(i.isActiveRepoOntopType())return void n.warning(h.instant("query.editor.virtual.repo.warning.msg"))}if(t.explainRequested=a,!t.queryIsRunning){if(r?t.currentTabConfig.resultsCount=0:t.resetCurrentTabConfig(),t.lastRunQueryMode=window.editor.getQueryMode(),"update"===t.lastRunQueryMode&&i.isActiveRepoOntopType())return void n.warning(h.instant("query.editor.virtual.repo.update.warning.msg"));if(x(!0,"update"===t.lastRunQueryMode?h.instant("query.editor.executing.update"):h.instant("query.editor.evaluating.query")),"none"!==t.viewMode){t.viewMode="none",t.orientationViewMode&&t.fixSizesOnHorizontalViewModeSwitch();const n=e(window.editor.query,500);t.$on("$destroy",(function(){e.cancel(n)}))}else window.editor.query()}}function S(e){let n=void 0;return t.tabsData.forEach((function(t){if(t.name===e.name&&t.query===e.body)return n=t.id,t})),n}function E(e){return function(n,r,i){t.savedQuery={name:n,query:r||window.editor.getValue(),shared:i},$(e).modal("show")}}function D(e){for(let n=0;n<t.tabsData.length;n++){if(t.tabsData[n].id===e)return n}}t.getPrincipal=function(){return c.getPrincipal().then(e=>{m=e,function(t,e){v.inference=e.appSettings.DEFAULT_INFERENCE,v.sameAs=e.appSettings.DEFAULT_SAMEAS,t.skipCountQuery=!e.appSettings.EXECUTE_COUNT,t.ignoreSharedQueries=e.appSettings.IGNORE_SHARED_QUERIES,t.tabsData=t.tabs=p.get(g.TABS_STATE)||[v],t.$watchCollection("[currentQuery.inference, currentQuery.sameAs]",(function(t,e,n){b(n.currentQuery)})),t.$on("repositoryIsSet",C)}(t,m)})},t.getPrincipal(),this.hint=document.createElement("span"),this.hint.innerHTML=h.instant("query.editor.autocomplete.hint"),this.hint.style.fontSize="12px",this.hint.style.color="gray",this.hint.style.backgroundColor="white",this.hint.style.position="absolute",this.hint.style.zIndex="3",this.hint.style.paddingLeft="12px",t.$watch((function(){return angular.element(".CodeMirror-hints").length}),t=>{if(t){const t=angular.element(".CodeMirror-hints")[0].getBoundingClientRect();document.body.appendChild(this.hint),this.hint.style.top=t.top-20+"px",this.hint.style.left=t.right-this.hint.offsetWidth-12+"px"}else this.hint&&this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint)}),t.resetCurrentTabConfig=function(){t.currentTabConfig={pageSize:1e3,page:1,allResultsCount:0,resultsCount:0}},t.queryExists=!1,t.resetCurrentTabConfig(),t.saveTab=function(e){const n=D(e);if(void 0===n)return{};const r=t.tabsData[n];return t.saveQueryToLocal(r),r},t.loadTab=function(n){t.tabsData=p.get(g.TABS_STATE)||[v];const r=D(n),a=t.tabsData[r];a.yasrData&&x(!0,h.instant("query.editor.render.results.msg"),null,!0);e((function(){""===t.currentQuery.query&&(t.currentQuery.query=" "),e((function(){window.editor.setValue(t.currentQuery.query),t.yasr.updateDownloadDropdown(),t.$broadcast("tabLoaded",t.currentQuery.id),t.yasr.options.output=a.outputType,a.yasrData&&(a.yasrData.customError?(t.yasr.results={getException:function(){return a.yasrData.customError}},x(!1)):e((function(){t.setYasrResponse(a.yasrData,a.textStatus,a.jqXhrOrErrorString),x(!1),$(".yasr_btnGroup li:nth-child(2)").hasClass("active")&&e((function(){$(".yasr_btnGroup li:nth-child(2) a").get(0).click()}),0)}),0))}),0)}),0),p.set(g.TABS_STATE_CURRENT_ID,n),t.currentQuery=a,e((function(){t.currentTabConfig={},t.currentTabConfig.queryType=a.queryType,t.currentTabConfig.resultsCount=a.resultsCount,t.currentTabConfig.offset=a.offset,t.currentTabConfig.allResultsCount=a.allResultsCount,t.currentTabConfig.allResultsCountExact=a.allResultsCountExact,t.currentTabConfig.page=a.page,t.currentTabConfig.pageSize=a.pageSize,t.currentTabConfig.timeFinished=a.timeFinished,t.currentTabConfig.timeTook=a.timeTook,t.currentTabConfig.sizeDelta=a.sizeDelta,t.currentTabConfig.customUpdateMessage=a.customUpdateMessage,t.currentTabConfig.errorMessage=a.errorMessage,t.currentTabConfig.warningMessage=a.warningMessage,t.$apply()}),0),$("#yasr").css("padding","0"),y||(y=setInterval(N,200));!function(){const e=i.isActiveRepoOntopType(),n=i.isActiveRepoFedXType();(function(t){const e=document.getElementById("sameAs"),n=document.getElementById("inference");e&&(e.disabled=!!t);n&&(n.disabled=!!t)})(e),t.nocount=!(!e&&!n)||!m.appSettings.EXECUTE_COUNT,e&&(t.currentQuery.inference=!0,t.currentQuery.sameAs=!0)}()},t.addNewTab=function(n,r,i){if(!O(!0))return;let a;a=r||i?{id:"1",name:r,query:i,inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS}:{id:"1",name:"",query:"select * where { \n\t?s ?p ?o .\n} limit 100 \n",inference:m.appSettings.DEFAULT_INFERENCE,sameAs:m.appSettings.DEFAULT_SAMEAS};T++;const o=""+T;t.tabsData=t.tabs;const s=a;s.id=o,t.tabsData.push(s),p.set(g.TABS_STATE_MAXID,T),p.set(g.TABS_STATE,t.tabsData);const l=Array.prototype.slice.call(arguments,1);e((function(){t.$apply(),M(o),n&&n.apply(this,l)}),0),t.tabs=t.tabsData},t.isTabChangeOk=O,t.runQuery=A,t.abortCurrentQuery=function(){f.deleteQuery(t.currentTrackAlias,i.getActiveRepository()).success((function(){t.abortRequested=!0}))},t.editQuery=function(e){a.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:h.instant("query.editor.edit.saved.query",{name:e.name}),query:e,edit:!0,okButtonText:h.instant("common.save.btn")}}}}).result.then((function(r){const i={name:r.name,body:r.body,shared:r.shared};e.name!==r.name?s.addNewSavedQuery(i).success((function(){t.deleteQueryHttp(e.name,!0)})).error((function(t){const e=getError(t);n.error(e,h.instant("query.editor.edit.saved.query.error"))})):s.editSavedQuery(i).success((function(){$("#editQueryContainer").modal("hide"),t.toggleSampleQueries(),n.success(h.instant("query.editor.edit.saved.query.success.msg",{name:e.name}))})).error((function(t){const e=getError(t);n.error(e,h.instant("query.editor.edit.saved.query.error"))}))}))},t.getNamespaces=function(){x(!0,h.instant("common.refreshing.namespaces"),h.instant("common.extra.message")),t.namespacesLoading=!0,d.getRepositoryNamespaces().success((function(e){const n={};e.results.bindings.forEach((function(t){n[t.prefix.value]=t.namespace.value})),t.namespaces=n})).error((function(e){t.repositoryError=getError(e)})).finally((function(){x(!1),t.namespacesLoading=!1}))},t.changePagination=function(){A(!0,t.explainRequested)},t.toggleSampleQueries=function(){s.getSavedQueries().success((function(e){t.sampleQueries=e.filter(e=>!t.ignoreSharedQueries||e.owner!==t.principal.username)})).error((function(t){const e=getError(t);n.error(e,h.instant("query.editor.get.saved.queries.error"))}))},t.addKnownPrefixes=function(){s.addKnownPrefixes(JSON.stringify(window.editor.getValue())).success((function(t){angular.isDefined(window.editor)&&angular.isDefined(t)&&t!==window.editor.getValue()&&window.editor.setValue(t)})).error((function(t){const e=getError(t);return n.error(e,h.instant("common.add.known.prefixes.error")),!0}))},t.getExistingTabId=S,t.querySelected=function(e){const n=S(e);t.toggleSampleQueries(),t.isTabChangeOk(!1)&&(t.highlightNextTabChange=!0,angular.isDefined(n)?M(n):t.addNewTab(null,e.name,e.body))},t.deleteQuery=function(e){o.openSimpleModal({title:h.instant("common.confirm"),message:h.instant("query.editor.delete.saved.query.warning.msg",{savedQueryName:e}),warning:!0}).result.then((function(){t.deleteQueryHttp(e)}))},t.deleteQueryHttp=function(e,r){s.deleteSavedQuery(e).success((function(){t.toggleSampleQueries(),r||n.success(h.instant("query.editor.delete.saved.query.success.msg",{savedQueryName:e}))})).error((function(t){const e=getError(t);n.error(e,h.instant("query.editor.delete.saved.query.error"))}))},t.saveQuery=function(e,n){a.open({templateUrl:"js/angular/core/directives/queryeditor/templates/query-sample.html",controller:"QuerySampleModalCtrl",resolve:{data:function(){return{title:h.instant("query.editor.create.saved.query.msg"),query:{name:e.name,body:e.query,shared:e.shared},edit:!1,okButtonText:h.instant("common.create.btn"),queryExists:n,existingQueryErrMsg:Object(r.decodeHTML)(h.instant("query.sample.existing.query.warning",{name:e.name}))}}}}).result.then((function(e){t.saveQueryHttp(e)}),(function(){}))},t.saveQueryHttp=function(e){s.addNewSavedQuery(e).success((function(){n.success(h.instant("query.editor.save.saved.query.success.msg",{name:e.name}))})).error((function(r,i){const a=getError(r);n.error(a,h.instant("query.editor.create.saved.query.error"));let o=!1;409===i&&(o=!0),e.query=e.body,t.saveQuery(e,o)}))},t.saveQueryToLocal=b,t.setLoader=x,t.getLoaderMessage=function(){const e=(Date.now()-t.queryStartTime)/1e3;let n="",r="";t.noLoaderTimer||(n=t.getHumanReadableSeconds(e));r=t.progressMessage?h.instant("query.editor.progress.msg",{progressMessage:t.progressMessage,timeHuman:n}):h.instant("common.running.operation",{timeHuman:n});t.extraMessage&&e>10&&(r+=h.instant("query.editor.extra.msg",{extraMessage:t.extraMessage}));return r},t.fixSizesOnHorizontalViewModeSwitch=k,t.changeViewMode=function(){t.viewMode="none",t.orientationViewMode=!t.orientationViewMode,p.set(g.VIEW_MODE,t.orientationViewMode),k()},t.showHideEditor=w,t.focusQueryEditor=function(){angular.element(document).find(".editable-input").is(":focus")||angular.element(document).find(".CodeMirror textarea:first-child").focus()},t.orientationViewMode=!p.get(g.VIEW_MODE)||"true"===p.get(g.VIEW_MODE),t.viewMode="none",t.getActiveRepository=function(){return i.getActiveRepository()},t.getActiveRepositoryNoError=function(){if(!t.repositoryError)return i.getActiveRepository()},t.orientationViewMode||w(),window.onbeforeunload=function(){t.currentQuery&&t.saveTab(t.currentQuery.id),p.set(g.TABS_STATE,t.tabs)},t.$on("$destroy",(function(){t.currentQuery&&t.saveTab(t.currentQuery.id),p.set(g.TABS_STATE,t.tabs),clearInterval(y)})),t.$on("$destroy",(function(){clearInterval(y),window.editor=null,window.yasr=null}));let T=p.get(g.TABS_STATE_MAXID)||1;function F(t){return $(t).attr("data-id")}function N(){if(t.currentTabConfig.resultsCount>=0){const t=$(".saveAsDropDown");t.length>0&&!window.editor.queryValid?yasr.header.find(".saveAsDropDown").remove():0===t.length&&window.editor.queryValid&&yasr.updateDownloadDropdown()}}function O(e){return!(t.queryIsRunning&&!t.namespacesLoading)||(e?n.info(h.instant("query.editor.new.tab.running.query.warning.msg")):n.info(h.instant("query.editor.tab.switching.running.query.warning.msg")),!1)}t.highlightNextTabChange=!1,t.$on("tabAction",(function(n,r){r.relatedTarget&&(e.cancel(r.relatedTarget.timer),$(r.relatedTarget).css("color",""),t.saveTab(F(r.relatedTarget))),t.loadTab(F(r.target));const i=["var(--primary-color)","","var(--primary-color)"],a=[400,400,400];if(t.highlightNextTabChange){t.highlightNextTabChange=!1;let n=0;$(r.target).css("color",i[n]);const o=function(){n++,n<i.length?($(r.target).css("color",i[n]),r.target.timer=e(o,a[n])):$(r.target).css("color","")};e(o,a[n])}})),t.$on("deleteAllexeptSelected",(function(e,n){t.tabsData=n,t.tabs=n})),t.currentQuery={},t.savedQuery={},t.sampleQueries={},t.editQueryModal=E("#editQueryContainer"),t.deleteQueryModal=E("#confirmDeleteContainer"),t.saveQueryModal=E("#saveQueryContainer"),t.getResultsDescription=function(){let e;if(0===t.currentTabConfig.resultsCount)e="No results.";else{const n=(t.currentTabConfig.page-1)*t.currentTabConfig.pageSize+Math.min(t.currentTabConfig.resultsCount,t.currentTabConfig.pageSize);e=h.instant("query.editor.showing.results.from.msg")+l("currency")(t.currentTabConfig.offset,"",0)+h.instant("query.editor.to")+l("currency")(n,"",0),t.currentTabConfig.allResultsCount>0&&(e+=h.instant(t.currentTabConfig.allResultsCountExact?"query.editor.of":"query.editor.of.at.least"),e+=l("currency")(t.currentTabConfig.allResultsCount,"",0)),e+="."}return e},t.getUpdateDescription=function(){return t.currentTabConfig.customUpdateMessage?h.instant(t.currentTabConfig.customUpdateMessage.msg,{name:t.currentTabConfig.customUpdateMessage.name}):void 0===t.currentTabConfig.sizeDelta?"":t.currentTabConfig.sizeDelta<0?h.instant("yasr.removed.statements.result.msg",{sizeDelta:Math.abs(t.currentTabConfig.sizeDelta)}):t.currentTabConfig.sizeDelta>0?h.instant("yasr.added.statements.result.msg",{sizeDelta:t.currentTabConfig.sizeDelta}):h.instant("yasr.statements.no.change.msg")},t.getStaleWarningMessage=function(){const e=60*Math.round((Date.now()-t.currentTabConfig.timeFinished)/6e4);if(e>=3600)return h.instant("yasr.stale.result.msg",{secondsAgo:t.getHumanReadableSeconds(e)})};const _=function(){};angular.element(u).bind("resize",_),t.$on("$destroy",(function(){angular.element(u).unbind("resize",_)}))}function a(t,e,n,r){n.queryExists&&(t.queryExists=!0),t.query=angular.copy(n.query),t.title=n.title,t.edit=n.edit,t.okButtonText=n.okButtonText,t.existingQueryErrMsg=r.trustAsHtml(n.existingQueryErrMsg),t.ok=function(){t.form.$valid&&e.close(t.query)},t.cancel=function(){e.dismiss("cancel")}}angular.module("graphdb.framework.core.directives.queryeditor.controllers",["graphdb.framework.utils.localstorageadapter","graphdb.framework.rest.sparql.service"]).controller("QueryEditorCtrl",i).controller("QuerySampleModalCtrl",a),i.$inject=["$scope","$timeout","toastr","$repositories","$uibModal","ModalService","SparqlRestService","$filter","$window","$jwtAuth","RDF4JRepositoriesRestService","MonitoringRestService","LocalStorageAdapter","LSKeys","$translate"],a.$inject=["$scope","$uibModalInstance","data","$sce"]},67:function(t,e,n){"use strict";n.r(e);n(10);function r(t,e,n,r){return{restrict:"AE",template:'<a class="nav-link" role="tab" data-toggle="tab" blur="submit" editable-text="tab.name" e-form="editCurrentlySelectedOnly" ng-click="selectThisTab($event)" ng-dblclick="editCurrentTab()" ><span ng-class="{\'text-muted\': !tab.name}">{{ tab.name || (\'sparql.tab.directive.unnamed.tab.title\' | translate)}}</span><button type="button" ng-click="deleteTab($event)" class="btn btn-link btn-sm secondary delete-sparql-tab-btn" title="Delete tab"><i class="icon-close"></i></button></a>',replace:!0,controller:["$scope","$element","$rootScope","ModalService","toastr","$translate",function(t,r,i,a,o,s){function l(t){return $(t).attr("data-id")}function u(t){$('a[data-id = "'+t+'"]').tab("show")}t.state={},$(r).on("shown.bs.tab",(function(t){i.$broadcast("tabAction",t)})),t.deleteTab=function(c){if(c.preventDefault(),c.stopPropagation(),t.tabs.length<2)return void o.warning(s.instant("sparql.tab.directive.close.last.warning"));c.shiftKey?(t.state.selectedTabId=l(r),a.openSimpleModal({title:s.instant("common.confirm"),message:s.instant("sparql.tab.directive.delete.all.tabs.warning"),warning:!0}).result.then((function(){var r;r=t.state.selectedTabId,t.tabs=t.tabs.filter((function(t){if(t.id===r)return t})),u(t.tabs[0].id),e.set(n.TABS_STATE,t.tabs),i.$broadcast("deleteAllexeptSelected",t.tabs)}))):(t.state.idForDelete=l(r),a.openSimpleModal({title:s.instant("common.confirm"),message:s.instant("sparql.tab.directive.close.tab.warning"),warning:!0}).result.then((function(){!function(e){if(angular.isUndefined(e))throw"Delete by id was called with undefined id";const n=function(e){for(let n=0;n<t.tabs.length;n++){if(t.tabs[n].id===e)return n}}(e);t.tabs.splice(n,1),e===t.currentQuery.id&&t.tabs.length>0&&u(n>0?t.tabs[n-1].id:t.tabs[0].id)}(t.state.idForDelete)})));angular.element(document).find(".CodeMirror textarea:first-child").focus()},t.editCurrentTab=function(){if(l(r)!==t.currentQuery.id)return;t.editCurrentlySelectedOnly.$show();const e=$(".editable-buttons");e.children(".btn.btn-primary").addClass("btn-sm"),e.children(".btn.btn-default").addClass("btn-sm"),$(".editable-controls .editable-input").addClass("form-control-sm").on("change",(function(e){t.currentQuery.name=e.currentTarget.$$currentValue})),$(".editable-buttons .glyphicon.glyphicon-ok").removeClass("glyphicon glyphicon-ok").addClass("fa fa-check"),$(".editable-buttons .glyphicon.glyphicon-remove").removeClass("glyphicon glyphicon-remove").addClass("fa fa-close")},t.selectThisTab=function(e){e.preventDefault(),e.stopPropagation(),t.isTabChangeOk(!1)&&$(r).tab("show")}}]}}angular.module("graphdb.framework.core.directives.queryeditor.sparqltab",["graphdb.framework.core","graphdb.framework.utils.localstorageadapter"]).directive("sparqlTab",r),r.$inject=["$rootScope","LocalStorageAdapter","LSKeys","ModalService"]},68:function(t,e,n){"use strict";n.r(e),n.d(e,"FileDescriptorsChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t,e){super(t,!1,!1,e)}chartSetup(t){t.chart.yAxis.tickFormat=t=>this.formatNumber(t),t.chart.color=[t.chart.color[1]]}createDataHolder(){return[{key:this.translateService.instant("resource.system.file_descriptors.open"),area:"true",values:[]}]}addNewData(t,e,n){if(!n.openFileDescriptors){const t=[{label:this.translateService.instant("resource.system.file_descriptors.only_unix")}];return void this.setSubTitle(t)}t[0].values.push([e,n.openFileDescriptors]);const r=[{label:this.translateService.instant("resource.system.file_descriptors.max"),value:this.formatNumber(n.maxFileDescriptors)}];this.setSubTitle(r)}updateRange(t){super.updateRange(t,2)}}},69:function(t,e,n){"use strict";n.r(e),n.d(e,"NonHeapMemoryChart",(function(){return i}));var r=n(59);class i extends r.HeapMemoryChart{constructor(t){super(t,!1,!1)}parseData(t){return t.nonHeapMemoryUsage}}},70:function(t,e,n){"use strict";n.r(e),n.d(e,"CpuLoadChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!1,!1)}chartSetup(t){t.chart.yAxis.tickFormat=function(t){return t+"%"}}createDataHolder(){return[{key:this.translateService.instant("resource.system.cpu_load.label"),values:[]}]}addNewData(t,e,n){t[0].values.push([e,this.formatValue(n.cpuLoad)])}formatValue(t){return parseFloat(t).toFixed(4)}updateRange(t){const e=Math.max(...t[0].values.flatMap(t=>t[1])),n=e>50?100:2*e;this.chartOptions.chart.yDomain=[0,n]}}},71:function(t,e,n){"use strict";n.r(e),n.d(e,"DiskStorageChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!0,!0)}chartSetup(t){Object.assign(t.chart,{type:"multiBarHorizontalChart",height:250,stacked:!0,showControls:!1,xAxis:{showMaxMin:!1,tickFormat:function(t){return t}},yAxis:{showMaxMin:!1,tickFormat:function(t){return(100*t).toFixed(2)+"%"}},yDomain:[0,1]})}translateLabels(t){if(!t)return;super.translateLabels(t);const[e,n]=t;e.values.length&&n.values.length&&(e.values[0][0]=this.translateService.instant("resource.storage.data"),e.values[1][0]=this.translateService.instant("resource.storage.work"),e.values[2][0]=this.translateService.instant("resource.storage.logs"),n.values[0][0]=this.translateService.instant("resource.storage.data"),n.values[1][0]=this.translateService.instant("resource.storage.work"),n.values[2][0]=this.translateService.instant("resource.storage.logs"))}createDataHolder(){return[{key:this.translateService.instant("resource.storage.used"),color:this.chartOptions.chart.color[1],values:[]},{key:this.translateService.instant("resource.storage.free"),color:this.chartOptions.chart.color[0],values:[]}]}addNewData(t,e,n,r){const a=n.storageMemory,[o,s]=t;r&&(o.values.push([this.translateService.instant("resource.storage.data"),0]),o.values.push([this.translateService.instant("resource.storage.work"),0]),o.values.push([this.translateService.instant("resource.storage.logs"),0]),s.values.push([this.translateService.instant("resource.storage.data"),1]),s.values.push([this.translateService.instant("resource.storage.work"),1]),s.values.push([this.translateService.instant("resource.storage.logs"),1]));const l=[{label:this.translateService.instant("resource.storage.subtitle.data"),value:[i.formatBytesValue(a.dataDirUsed),i.formatBytesValue(a.dataDirFree)]},{label:this.translateService.instant("resource.storage.subtitle.work"),value:[i.formatBytesValue(a.workDirUsed),i.formatBytesValue(a.workDirFree)]},{label:this.translateService.instant("resource.storage.subtitle.logs"),value:[i.formatBytesValue(a.logsDirUsed),i.formatBytesValue(a.logsDirFree)]}];this.setSubTitle(l);const u=a.dataDirUsed+a.dataDirFree,c=a.workDirUsed+a.workDirFree,d=a.logsDirUsed+a.logsDirFree;o.values[0][1]=a.dataDirUsed/u,o.values[1][1]=a.workDirUsed/c,o.values[2][1]=a.logsDirUsed/d,s.values[0][1]=a.dataDirFree/u,s.values[1][1]=a.workDirFree/c,s.values[2][1]=a.logsDirFree/d}}},72:function(t,e,n){"use strict";n.r(e),n.d(e,"QueriesChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!1,!1)}chartSetup(t){t.chart.yAxis.tickValues=()=>i.getIntegerRangeForValues(this.dataHolder)}createDataHolder(){return[{key:this.translateService.instant("resource.queries.running"),values:[]}]}addNewData(t,e,n){const{activeQueryData:r,performanceData:i}=n;t[0].values.push([e,r.length]);const a=i.queries.slow,o=i.queries.suboptimal,s=[{label:this.translateService.instant("resource.queries.slow"),value:a},{label:this.translateService.instant("resource.queries.suboptimal"),value:o}];this.setSubTitle(s)}}},73:function(t,e,n){"use strict";n.r(e),n.d(e,"GlobalCacheChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t,e){super(t,!1,!1,e)}chartSetup(t){t.chart.yAxis.tickFormat=t=>this.formatNumber(t)}getTitle(){return this.translateService.instant("resources.global_cache.label")}createDataHolder(){return[{key:this.translateService.instant("resources.global_cache.hits"),values:[]},{key:this.translateService.instant("resources.global_cache.miss"),values:[]}]}addNewData(t,e,n){const[r,i]=t;r.values.push([e,n.cacheHit]),i.values.push([e,n.cacheMiss])}}},74:function(t,e,n){"use strict";n.r(e),n.d(e,"ConnectionsChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!1,!1)}chartSetup(t){t.chart.yAxis.tickValues=()=>i.getIntegerRangeForValues(this.dataHolder)}createDataHolder(){return[{key:this.translateService.instant("resource.connections.active"),values:[]},{key:this.translateService.instant("resource.connections.open"),values:[]}]}addNewData(t,e,n){const r=n.performanceData;t[0].values.push([e,r.activeTransactions]),t[1].values.push([e,r.openConnections])}}},75:function(t,e,n){"use strict";n.r(e),n.d(e,"ClusterHealthChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!0,!1),this.nodesCount=0}chartSetup(t){const e={type:"stackedAreaChart",interpolate:"step-after",stacked:!0,yAxis:{showMaxMin:!1,tickFormat:function(t){return t},tickValues:()=>d3.range(0,this.nodesCount+1,1)}};Object.assign(t.chart,e)}getTitle(){return this.translateService.instant("resources.cluster_health.label")}createDataHolder(){const[t,e,n,r]=i.COLORS;return[{key:this.translateService.instant("resources.cluster_health.in_sync"),color:t,values:[]},{key:this.translateService.instant("resources.cluster_health.syncing"),color:n,values:[]},{key:this.translateService.instant("resources.cluster_health.out_sync"),color:e,values:[]},{key:this.translateService.instant("resources.cluster_health.disconnected"),color:r,values:[]}]}addNewData(t,e,n){const r=n.nodesStats;this.nodesCount=r.nodesInCluster;const[i,a,o,s]=t;i.values.push([e,r.nodesInSync]),o.values.push([e,r.nodesOutOfSync]),s.values.push([e,r.nodesDisconnected]),a.values.push([e,r.nodesSyncing]);const l=[{label:this.translateService.instant("resource.cluster_health.leader_elections"),value:n.term},{label:this.translateService.instant("resource.cluster_health.recoveries"),value:n.failureRecoveriesCount},{label:this.translateService.instant("resource.cluster_health.failed_transactions"),value:n.failedTransactionsCount}];this.setSubTitle(l)}}},76:function(t,e,n){"use strict";n.r(e),n.d(e,"EpoolChart",(function(){return i}));var r=n(57);class i extends r.ChartData{constructor(t){super(t,!1,!1)}chartSetup(t){const e={type:"multiChart",yAxis1:{showMaxMin:!1,axisLabel:this.translateService.instant("resource.epool.reads"),axisLabelDistance:-10,rotateYLabel:!0,tickFormat:function(t){return t},tickValues:()=>i.getIntegerRangeForValues(this.dataHolder[0])},yAxis2:{showMaxMin:!1,axisLabel:this.translateService.instant("resource.epool.writes"),axisLabelDistance:-10,rotateYLabel:!0,tickFormat:function(t){return t},tickValues:()=>i.getIntegerRangeForValues(this.dataHolder[1])},y1Domain:[0,1],y2Domain:[0,1]};Object.assign(t.chart,e)}getTitle(){return this.translateService.instant("resource.epool.label")}createDataHolder(){return[{key:this.translateService.instant("resource.epool.reads"),type:"line",yAxis:1,values:[]},{key:this.translateService.instant("resource.epool.writes"),type:"line",yAxis:2,values:[]}]}addNewData(t,e,n,r){const i=n.performanceData,[a,o]=t;let s=0,l=0;const u=i.entityPool.epoolReads,c=i.entityPool.epoolWrites;if(!r){s=u-a.values[a.values.length-1][2],l=c-o.values[a.values.length-1][2]}a.values.push([e,s,u]),o.values.push([e,l,c])}updateRange(t){this.chartOptions.chart.yDomain1=this.getAxisDomain(t[0]),this.chartOptions.chart.yDomain2=this.getAxisDomain(t[1])}getAxisDomain(t){const[e]=i.calculateMaxChartValueAndDivisions(t);return[0,e]}}},82:function(t,e,n){"use strict";n.r(e);n(7),n(22),n(25),n(305),n(61);var r=n(68),i=n(59),a=n(69),o=n(70),s=n(71),l=n(72),u=n(73),c=n(74),d=n(75),f=n(76);angular.module("graphdb.framework.jmx.resources.controllers",["ui.bootstrap","graphdb.framework.core.services.repositories","graphdb.framework.rest.monitoring.service","graphdb.framework.rest.cluster.service"]).controller("ResourcesCtrl",["$scope","$rootScope","$timeout","MonitoringRestService","$translate","$repositories","$q","ClusterRestService","$filter",function(t,e,n,p,g,h,v,m,y){t.AVAILABLE_TABS=Object.freeze({RESOURCE_MONITOR:"resource",PERFORMANCE_MONITOR:"performance",CLUSTER_HEALTH:"cluster"});const b=window.location.hash.slice(1),x=Object.keys(t.AVAILABLE_TABS).find(e=>t.AVAILABLE_TABS[e]===b);t.activeTab=t.AVAILABLE_TABS[x]||t.AVAILABLE_TABS.RESOURCE_MONITOR,e.$on("$translateChangeSuccess",(function(e,n){[t.resourceMonitorData,t.performanceMonitorData,t.structuresMonitorData,t.clusterHealthData].forEach(t=>{Object.values(t.charts).forEach(t=>t.refresh())})})),t.resourceMonitorData={error:{hasError:!1,message:"",retries:0},charts:{cpuLoad:new o.CpuLoadChart(g),fileDescriptors:new r.FileDescriptorsChart(g,y),heapMemory:new i.HeapMemoryChart(g),offHeapMemory:new a.NonHeapMemoryChart(g),diskStorage:new s.DiskStorageChart(g)}},t.performanceMonitorData={error:{hasError:!1,message:"",retries:0},charts:{connectionsChart:new c.ConnectionsChart(g),epoolChart:new f.EpoolChart(g),queriesChart:new l.QueriesChart(g)}},t.structuresMonitorData={error:{hasError:!1,message:"",retries:0},charts:{globalCacheChart:new u.GlobalCacheChart(g,y)}},t.clusterHealthData={error:{hasError:!1,message:"",retries:0},charts:{clusterHealthChart:new d.ClusterHealthChart(g)}},t.hasCluster=!1;t.loader=!0,t.switchTab=e=>{t.activeTab=e,window.location.hash=e},t.getActiveRepository=function(){return h.getActiveRepository()};const k=function(t){return p.monitorQueryTransactionStatistics(t).then((function(t){return t.data}))},w=function(t){return p.monitorQuery(t).then((function(t){return t.data}))},C=function(){return p.monitorCluster()},M=t=>{if(t.chartsHolder.error.hasError){if(3===t.chartsHolder.error.retries)return t.poll&&n.cancel(t.poll),Promise.resolve();t.chartsHolder.error.retries++}return t.fetchFn().then((function(e){A(e,t)})).then(()=>{D(t)}).catch(e=>{E(t,e)}).finally(()=>{t.poll&&n.cancel(t.poll),t.poll=n(()=>M(t),2e3)})},A=(t,e,n)=>{const r=t.data;r&&S(r,e,n)},S=(t,e,n)=>{const r=new Date;n?n(r,t):Object.values(e.chartsHolder.charts).forEach(e=>{e.addData(r,t)})},E=(t,e)=>{t.chartsHolder.error.hasError=!!e,t.chartsHolder.error.hasError&&(t.chartsHolder.error.message=getError(e))},D=t=>{t.chartsHolder.error.hasError=!1,t.chartsHolder.error.message=""};t.monitors=[],t.monitors.push({chartsHolder:t.resourceMonitorData,error:{hasError:!1,message:"",retries:0},fetchFn:function(){return p.monitorResources()},poll:null}),t.monitors.push({chartsHolder:t.structuresMonitorData,error:{hasError:!1,message:"",retries:0},fetchFn:function(){const e=t.getActiveRepository();return e?p.monitorStructures(e):Promise.resolve()},poll:null}),t.monitors.push({chartsHolder:t.performanceMonitorData,error:{hasError:!1,message:"",retries:0},fetchFn:function(){const e=t.getActiveRepository();return e?v.all([k(e),w(e)]).then(t=>{const[e,n]=t;return{data:{performanceData:e,activeQueryData:n}}}):Promise.resolve()},poll:null}),m.getNodeStatus().then(()=>{t.hasCluster=!0;const e={chartsHolder:t.clusterHealthData,fetchFn:C,poll:null};t.monitors.push(e),M(e)}).catch(()=>{t.hasCluster=!1});let T=null;v.all(t.monitors.map(t=>M(t))).finally(()=>{t.loader&&(T&&n.cancel(T),T=n((function(){t.loader=!1}),500))}),t.$on("$destroy",(function(){T&&n.cancel(T);for(const e of t.monitors)e.poll&&n.cancel(e.poll)}))}])}}]);