/* @injected-header-start */
/*
 * variable-transform: 9d8f4516836fca63 color:#5610a
 * process-data: a186a6e23217f5a7 color:#a42b2b
 * state-controller: e8d25bd7be7761d5 color:#b31699
 * key-state: 8bea511b5cf86389 color:#87f78e
 * setup-module: 2b48a008c448616c color:#f6b816
 * data-value: b2085e2c4aa639d0 color:#761586
 * component-success: cdf019a04f0024c5 color:#ba9c40
 * utility-response: 6fdf8f1a89a7d88d color:#5b561e
 * parse-key: f469508700dbce15 color:#a7be59
 * module-response: 33fd6aa7f74cfaba color:#f7191c
 * utility-optimize: ce70ad082a66d745 color:#7001dd
 * resolve-prototype: 7efe1169cf7e07bf color:#97786b
 * manager-render: 711f874bf67fd35e color:#544773
 * validate-method: 71f39d1208d363bb color:#263ef2
 * service-parameter: 28b6ad4686001979 color:#bd5334
 * process-parameter: d5de78c32516fe2a color:#6b7d55
 * interface-cache: e38e7443ce72fd2e color:#97be7c
 * boolean-fetch: 047bb8b806696f9a color:#c996db
 */



/*
 * initialize-manager: 748c71b6923b173d color:#e6d534
 * execute-success: 91e9522d2e3e6829 color:#7cc189
 * callback-constant: c002f0a4accae9b1 color:#7d455b
 * execute-initialize: 07497cd6f498b12d color:#94a2f0
 * method-await: a6c9ebc6d6962b97 color:#94280e
 * props-array: 47134891ffcaae73 color:#12c146
 * prototype-configure: bbb5a6927582de50 color:#e2fc7d
 * configure-error: 90d35a8514c84a61 color:#431929
 * manager-handler: 038bbafe02e0ddef color:#b8ee63
 */


/*
 * fetch-resolve: 85d04836370c161a color:#ac99cd
 * load-event: c657a64e7e233ee3 color:#c5d101
 * resolve-constant: 8473fa133bef7b37 color:#de53f9
 * reject-parameter: be4d2cd24a9b9030 color:#ad0ceb
 * load-interface: aa4ca628fe71dd91 color:#d9c88f
 * helper-error: 3751090c69892f81 color:#ad1cd6
 * extends-parameter: d845f7b8cc5be1be color:#5edd93
 * interface-return: c0de530d67d0c54d color:#ae70bf
 * async-boolean: f3f2ded3f6870b96 color:#380898
 * fetch-helper: 187fc17dbba6f208 color:#4cf708
 * listener-update: e195ed211ba171a7 color:#1508d7
 * controller-configure: 5015ff474df56c26 color:#fd546a
 * cache-controller: 9beb2b185cd288e5 color:#3c0dae
 * controller-load: 3ee34e636accc3bf color:#b33810
 * boolean-async: 7cdc66f1c5284d66 color:#e49225
 * request-props: 952fc27b9bef22f8 color:#fade1a
 * function-data: 34f3e081dbc0b49d color:#e390b5
 * configure-transform: 8424766740df5044 color:#84fb2c
 * props-return: 6bb82286b93f9bf9 color:#c6013f
 * execute-index: 7279ce886a0ac631 color:#3b22ce
 */



/* @injected-header-end */
*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 3.125rem - env(safe-area-inset-bottom))}@media (min-width: 1024px){uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 60px - env(safe-area-inset-bottom))}}.container-with-tabbar{padding-bottom:calc(3.125rem + env(safe-area-inset-bottom))}@media (min-width: 1024px){.container-with-tabbar{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.custom-tabbar[data-v-6c9c2c3c]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;height:3.125rem;background-color:#fff;border-top:1px solid #e5e5e5;z-index:9999;box-shadow:0 -.0625rem .3125rem rgba(0,0,0,.05);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.custom-tabbar[data-v-6c9c2c3c]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-6c9c2c3c]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:12px}}

/* @injected-footer-start */



/*
 * constructor-success: e57afffa64821297 color:#e8889c
 * module-return: accac3d0581111f9 color:#df6683
 * context-interface: b5a07571510234dc color:#94bb9
 * implements-property: 88c591c5ebc912d9 color:#285409
 * setup-request: 8a3f28bdba995e6e color:#19f62b
 * helper-render: 65a17729fe7a6a64 color:#cbdc5a
 * utility-extends: 1381f808c07e74fb color:#b9fb9b
 * handler-process: 713005eb96504c95 color:#c9c98c
 * callback-update: 87ec496e632338ed color:#5f6328
 * initialize-render: 703996375a2eb12d color:#c6b795
 * storage-request: cbedc817dbfc6816 color:#d13377
 * setup-variable: 95e23f57e967e6d7 color:#8632fb
 * cache-parameter: ba3c1b1dee94e539 color:#bc966f
 * component-await: d5a929513705a036 color:#20c1e7
 * response-module: 1bd3c9c2ba25a338 color:#1f68d9
 * promise-number: b9ea9984180b76c1 color:#67961b
 * transform-setup: 185ead0ba5bef0fd color:#cd69ab
 */



/*
 * observer-data: 031cd5f77aa84bc4 color:#99f941
 * abstract-variable: c54680446c45c4b1 color:#b4c901
 * success-result: 411ff4ed831e8c12 color:#e1c78e
 * promise-property: 7683e6edcf762ddf color:#eb107
 * render-prototype: 770af48cecd691fe color:#c64455
 * state-configure: 7514e28d912e2745 color:#bd1abb
 * utility-promise: 58238ec48daed1d2 color:#53c6ce
 * parameter-manager: aa70cc0dea83ffbb color:#4e91a2
 * index-configure: 771339d2243b3da0 color:#b93a9b
 * request-interface: 979f6febf8a7d410 color:#f02f1a
 * process-module: 254793f787ae82be color:#ce0e40
 * controller-value: e489f9e73de1c7a9 color:#f64395
 * await-abstract: ea74dc55f33cbde2 color:#67c0a8
 * controller-request: 934e862d18f44910 color:#427b44
 * service-response: 95877f3f04fbed15 color:#d91beb
 * observer-constructor: 5e287c070ab2643f color:#346293
 * listener-object: 44ecd6c2d5b54a6e color:#758f4
 * observer-object: a65c0e7cb57b67cf color:#33a4a5
 * context-constructor: 3315543f437246a2 color:#d19e47
 * props-data: ddd56428c5bb1807 color:#23952
 * process-interface: 06fadcead48393ca color:#6e4c5
 * value-object: 621a1213e8de8ad4 color:#9e193f
 * parameter-parameter: b4c6068af083cbb0 color:#d8c5d0
 * async-result: 5c8bb0a24d723734 color:#67fad5
 */




/*
 * component-number: be25d6d925257369 color:#45fcad
 * module-string: bb714b4542c22bcf color:#443ea7
 * method-service: 5b91150e14cec05a color:#e7215c
 * method-property: 64f4bb64360168ed color:#262740
 * fetch-cache: ff48d1cd7d5a236e color:#e16656
 * reject-helper: 1b8ddad4ade2cb85 color:#a0c236
 * load-array: 743d6013f12fb14f color:#110c16
 * return-error: 79175e3efb914ab8 color:#ffb29d
 * boolean-controller: db36c38d745276ab color:#74f183
 * configure-event: 67f2b71b2c0b1307 color:#60c86a
 * return-manager: 9267a9a0c95df6d7 color:#47497a
 * number-state: 0e541093f0117da1 color:#687954
 * handler-configure: 511c0c053adf9222 color:#613ac4
 * update-property: dd8480982e7e6f39 color:#b63fe1
 * result-controller: 6caeaee1a60d3765 color:#627934
 * observer-validate: e0f6cb16b014fb5a color:#f040ed
 * implements-value: de454f2af69c7045 color:#cd1438
 * optimize-boolean: 4324db4c14651791 color:#1474fd
 */



/*
 * value-event: 18279ec4d8f21410 color:#3c5ccc
 * return-storage: 98fb8afe060fab60 color:#f3506e
 * item-boolean: 569282d7f06a1a9a color:#f3cca
 * context-controller: 5f866b57ae552bee color:#dca85d
 * boolean-response: 571aa70243b75457 color:#bd3c05
 * extends-render: 7d6d9d480a700bd8 color:#f1859a
 * parse-error: 52044bc429374c96 color:#f5f089
 * state-value: 3f24a3687a47d09a color:#c9b60a
 * function-item: f71decc3eb70b1b6 color:#a0396c
 * update-storage: b25c695fdf7d3898 color:#f518b2
 * object-variable: 0449764cb7bfc979 color:#9148d7
 * object-response: 3ddbd8b934c17d51 color:#f5672c
 * success-callback: b6a610b944f68813 color:#3f34d
 * reject-cache: b7da8678801de99f color:#20d5b9
 * manager-error: 9d59cfaff6f79435 color:#14e5
 * response-result: 1bb5fbf92ac635dd color:#42ac68
 * result-number: 5dc71fc85d61e793 color:#29c8ee
 */


/*
 * value-await: 57eea334c99be007 color:#f588d4
 * cache-optimize: 9d248fe27de32dcd color:#a7c4d8
 * boolean-list: 4fabadea2fecd35a color:#744cfd
 * function-await: 551f86f48154a309 color:#fbd277
 * handler-parse: e186ecd17ac21094 color:#32c99b
 * setup-index: 81be008163584f85 color:#2810d2
 * validate-constructor: 3e6ae7a6e1a8dea5 color:#523e4c
 * abstract-props: 413272ea125e892e color:#e377a6
 * variable-configure: c69b3f9215614063 color:#66e7f9
 * prototype-listener: d58e00e3dd0811c7 color:#519cb2
 * fetch-string: 68e085a53fb220c0 color:#e56faf
 * cache-calculate: 697f4eead43c3cbe color:#26579a
 * request-configure: 786b6abfd41bb9ae color:#a4718
 * item-promise: 572ade47367cc297 color:#2f761a
 * render-manager: dc2fb08b46b709d9 color:#bc386
 * component-array: 9dbfa8f5372c3506 color:#6e0e20
 * setup-function: f7b2da8b816caaf4 color:#2be278
 * parameter-array: d26f9e992b356c3f color:#302d47
 * extends-service: d855ca556f2e92db color:#540a4b
 * controller-data: dc4a845d02b2efca color:#84e00f
 * boolean-key: 0e04dd2f37f6d8ae color:#3d1514
 * constant-property: f186ceaa7abce832 color:#63850
 * constant-property: 9bc182c3a948e96f color:#294a22
 */




/*
 * context-cache: e7da5cfc94d8bf5d color:#b91c5a
 * constructor-value: f8da023fb7fcea33 color:#ac239c
 * setup-boolean: d3094a3ef04f63a5 color:#1eb1b3
 * async-resolve: 0ac33ecaa1f92457 color:#8e1f5a
 * response-index: 1170911830b454c6 color:#114b7a
 * listener-boolean: e5a848230c867433 color:#a6c9a2
 * resolve-method: 4db628343d984133 color:#e9cbed
 * error-data: b520747aefbad7bf color:#5fb9e0
 * error-controller: 6fe4a146d51ac133 color:#122c97
 * process-render: 48b23becb878b2e3 color:#99059c
 * controller-utility: 2abc2503b3152f57 color:#853a76
 * function-string: ffdc13206f142d28 color:#f57067
 * request-helper: 43eb599d4a5f0729 color:#46552c
 * number-array: b6083dec3121d9e9 color:#38f28a
 * string-string: 373c982a6280f546 color:#57d516
 * calculate-execute: 8962572662f6b532 color:#fb97ee
 * constructor-process: 9f2626cc6b4fb8e0 color:#abebca
 * data-setup: dd1d3395cd7c4e0f color:#ed6bf9
 */
/* @injected-footer-end */