{"version":3,"sources":["store/WeatherForecasts.ts","../index.tsx","../App.tsx","../Layout.tsx","../NavMenu.tsx","../Home.tsx","../Rules.tsx","../Timeline.tsx","components/FetchData.tsx","../Organizers.tsx","../Links.tsx","../DnsMOS.tsx","components/FinalResults.tsx","components/Phase1Results.tsx","components/Phase2Results.tsx","store/index.ts","store/Counter.ts","store/configureStore.ts"],"names":["__webpack_require__","d","__webpack_exports__","actionCreators","reducer","requestWeatherForecasts","startDateIndex","dispatch","getState","appState","weatherForecasts","fetch","then","response","json","data","type","forecasts","unloadedState","isLoading","state","incomingAction","undefined","action","React","ReactDOM","react_redux_1","connected_react_router_1","history_1","configureStore_1","App_1","baseUrl","document","getElementsByTagName","getAttribute","history","createBrowserHistory","basename","store","default","render","createElement","Provider","ConnectedRouter","getElementById","react_router_1","Layout_1","Home_1","Rules_1","Timeline_1","FetchData_1","Organizers_1","Links_1","DnsMOS_1","FinalResults_1","Phase1Results_1","Phase2Results_1","exports","Route","exact","path","component","reactstrap_1","NavMenu_1","Layout","_super","props","_this","call","this","challenge","handleChallengeChange","bind","__extends","prototype","challengeChange","setState","console","log","forceUpdate","Fragment","onChallengeChange","Container","children","Component","connect","react_router_dom_1","NavMenu","apply","arguments","isOpen","challengeHack","toggleChallenge","handleChange","toggle","e","window","location","href","title","pathname","match","navItems","link","text","dropDownItem","interspeechLogo","width","src","push","toggleKey","navBrandLink","Navbar","className","light","NavbarBrand","tag","Link","to","NavbarToggler","onClick","Collapse","navbar","map","objLink","i","modifiedLink","NavItem","key","NavLink","Dropdown","DropdownToggle","caret","dropObjLink","DropdownMenu","DropdownItem","PureComponent","Home","params","Rules","entryPeriodString","developmentPeriodString","testingPeriodString","blindsetProvideDate","blindsetLastDateOfSubmission","challengeTitle","trackDetails","Timeline","FetchData","ensureDataFetched","react__WEBPACK_IMPORTED_MODULE_5__","id","renderForecastsTable","renderPagination","parseInt","aria-labelledby","forecast","date","temperatureC","temperatureF","summary","prevStartDateIndex","nextStartDateIndex","react_router_dom__WEBPACK_IMPORTED_MODULE_7__","concat","WeatherForecastsStore","Organizers","FinalResults","__html","_this2","resp","content","catch","err","dangerouslySetInnerHTML","Phase1Results","Phase2Results","reducers","counter","count","WeatherForecasts","configureStore","initialState","middleware","thunk","routerMiddleware","rootReducer","combineReducers","Object","objectSpread","router","connectRouter","enhancers","windowIfDefined","__REDUX_DEVTOOLS_EXTENSION__","createStore","compose","applyMiddleware"],"mappings":"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","file":"static/js/main.6a4277c0.chunk.js","sourcesContent":["import { Action, Reducer } from 'redux';\r\nimport { AppThunkAction } from './';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\n\r\nexport interface WeatherForecastsState {\r\n isLoading: boolean;\r\n startDateIndex?: number;\r\n forecasts: WeatherForecast[];\r\n}\r\n\r\nexport interface WeatherForecast {\r\n date: string;\r\n temperatureC: number;\r\n temperatureF: number;\r\n summary: string;\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface RequestWeatherForecastsAction {\r\n type: 'REQUEST_WEATHER_FORECASTS';\r\n startDateIndex: number;\r\n}\r\n\r\ninterface ReceiveWeatherForecastsAction {\r\n type: 'RECEIVE_WEATHER_FORECASTS';\r\n startDateIndex: number;\r\n forecasts: WeatherForecast[];\r\n}\r\n\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\ntype KnownAction = RequestWeatherForecastsAction | ReceiveWeatherForecastsAction;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\n\r\nexport const actionCreators = {\r\n requestWeatherForecasts: (startDateIndex: number): AppThunkAction => (dispatch, getState) => {\r\n // Only load data if it's something we don't already have (and are not already loading)\r\n const appState = getState();\r\n if (appState && appState.weatherForecasts && startDateIndex !== appState.weatherForecasts.startDateIndex) {\r\n fetch(`weatherforecast`)\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n dispatch({ type: 'RECEIVE_WEATHER_FORECASTS', startDateIndex: startDateIndex, forecasts: data });\r\n });\r\n\r\n dispatch({ type: 'REQUEST_WEATHER_FORECASTS', startDateIndex: startDateIndex });\r\n }\r\n }\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nconst unloadedState: WeatherForecastsState = { forecasts: [], isLoading: false };\r\n\r\nexport const reducer: Reducer = (state: WeatherForecastsState | undefined, incomingAction: Action): WeatherForecastsState => {\r\n if (state === undefined) {\r\n return unloadedState;\r\n }\r\n\r\n const action = incomingAction as KnownAction;\r\n switch (action.type) {\r\n case 'REQUEST_WEATHER_FORECASTS':\r\n return {\r\n startDateIndex: action.startDateIndex,\r\n forecasts: state.forecasts,\r\n isLoading: true\r\n };\r\n case 'RECEIVE_WEATHER_FORECASTS':\r\n // Only accept the incoming data if it matches the most recent request. This ensures we correctly\r\n // handle out-of-order responses.\r\n if (action.startDateIndex === state.startDateIndex) {\r\n return {\r\n startDateIndex: action.startDateIndex,\r\n forecasts: action.forecasts,\r\n isLoading: false\r\n };\r\n }\r\n break;\r\n }\r\n\r\n return state;\r\n};\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nrequire(\"bootstrap/dist/css/bootstrap.css\");\r\nvar React = require(\"react\");\r\nvar ReactDOM = require(\"react-dom\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar connected_react_router_1 = require(\"connected-react-router\");\r\nvar history_1 = require(\"history\");\r\nvar configureStore_1 = require(\"./store/configureStore\");\r\nvar App_1 = require(\"./App\");\r\n// Create browser history to use in the Redux store\r\nvar baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nvar history = history_1.createBrowserHistory({ basename: baseUrl });\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nvar store = configureStore_1.default(history);\r\nReactDOM.render(React.createElement(react_redux_1.Provider, { store: store },\r\n React.createElement(connected_react_router_1.ConnectedRouter, { history: history },\r\n React.createElement(App_1.default, null))), document.getElementById('root'));\r\n//registerServiceWorker();\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_router_1 = require(\"react-router\");\r\nvar Layout_1 = require(\"./components/Layout\");\r\nvar Home_1 = require(\"./components/Home\");\r\nvar Rules_1 = require(\"./components/Rules\");\r\nvar Timeline_1 = require(\"./components/Timeline\");\r\nvar FetchData_1 = require(\"./components/FetchData\");\r\nvar Organizers_1 = require(\"./components/Organizers\");\r\nvar Links_1 = require(\"./components/Links\");\r\nvar DnsMOS_1 = require(\"./components/DnsMOS\");\r\nrequire(\"./custom.css\");\r\nvar FinalResults_1 = require(\"./components/FinalResults\");\r\nvar Phase1Results_1 = require(\"./components/Phase1Results\");\r\nvar Phase2Results_1 = require(\"./components/Phase2Results\");\r\nexports.default = (function () { return (React.createElement(Layout_1.default, null,\r\n React.createElement(react_router_1.Route, { exact: true, path: '/', component: Home_1.default }),\r\n React.createElement(react_router_1.Route, { exact: true, path: '/:challenge', component: Home_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/rules/:challenge', component: Rules_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/timeline/:challenge', component: Timeline_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/organizers/:challenge', component: Organizers_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/quicklinks/:challenge', component: Links_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/dnsmos/:challenge', component: DnsMOS_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/finalresults/:challenge', component: FinalResults_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/phase1results/:challenge', component: Phase1Results_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/phase2results/:challenge', component: Phase2Results_1.default }),\r\n React.createElement(react_router_1.Route, { path: '/fetch-data/:startDateIndex?', component: FetchData_1.default }))); });\r\n//# sourceMappingURL=App.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar reactstrap_1 = require(\"reactstrap\");\r\nvar NavMenu_1 = require(\"./NavMenu\");\r\nvar Layout = /** @class */ (function (_super) {\r\n __extends(Layout, _super);\r\n function Layout(props) {\r\n var _this = _super.call(this, props) || this;\r\n _this.state = {\r\n challenge: \"ICASSP2021\"\r\n };\r\n _this.handleChallengeChange = _this.handleChallengeChange.bind(_this);\r\n _this.state = { challenge: 'ICASSP2021' };\r\n return _this;\r\n }\r\n Layout.prototype.handleChallengeChange = function (challengeChange) {\r\n var _this = this;\r\n this.setState(function (state) { return ({ challenge: challengeChange }); });\r\n this.setState(function () {\r\n console.log(\"Within setstate function setting the state\");\r\n return {\r\n challenge: challengeChange\r\n };\r\n }, function () {\r\n console.log(\"state after async call is \" + _this.state.challenge);\r\n _this.forceUpdate();\r\n _this.render();\r\n });\r\n //window.location.reload();\r\n };\r\n Layout.prototype.render = function () {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(React.Fragment, null,\r\n React.createElement(NavMenu_1.default, { challenge: this.state.challenge, onChallengeChange: this.handleChallengeChange }),\r\n React.createElement(reactstrap_1.Container, { challenge: this.state.challenge }, this.props.children))));\r\n };\r\n return Layout;\r\n}(React.Component));\r\nexports.default = react_redux_1.connect()(Layout);\r\n//# sourceMappingURL=Layout.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar reactstrap_1 = require(\"reactstrap\");\r\nvar react_router_dom_1 = require(\"react-router-dom\");\r\nrequire(\"./NavMenu.css\");\r\nvar NavMenu = /** @class */ (function (_super) {\r\n __extends(NavMenu, _super);\r\n function NavMenu() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.state = {\r\n isOpen: false,\r\n challengeHack: \"ICASSP2021\"\r\n };\r\n _this.toggleChallenge = function (challenge) {\r\n if (challenge == \"Interspeech2020\") {\r\n _this.handleChange(\"Interspeech2020\");\r\n }\r\n else {\r\n _this.handleChange(\"ICASSP2021\");\r\n }\r\n };\r\n _this.toggle = function () {\r\n _this.setState({\r\n isOpen: !_this.state.isOpen\r\n });\r\n };\r\n return _this;\r\n }\r\n NavMenu.prototype.handleChange = function (e) {\r\n this.props.onChallengeChange(e);\r\n this.setState(function () { return ({ challengeHack: e }); }, function () { window.location.href = \"/\" + e; });\r\n console.log(\"Will force update now\");\r\n this.forceUpdate();\r\n };\r\n NavMenu.prototype.render = function () {\r\n var _this = this;\r\n var title = \"Deep Noise Suppression Challenge - ICASSP 2021\";\r\n if (this.state.challengeHack == \"ICASSP2021\" && window.location.pathname.match(\"Interspeech2020\")) {\r\n this.state.challengeHack = \"Interspeech2020\";\r\n console.log(\"URL contains interspeech but prop contains default ICASSP so setting it to Interspeech back\");\r\n }\r\n else if (this.state.challengeHack == \"Interspeech2020\" && window.location.pathname.match(\"ICASSP2021\")) {\r\n this.state.challengeHack = \"ICASSP2021\";\r\n console.log(\"URL contains ICASSP2021 but prop contains default Interspeech so setting it to ICASSP2021 back\");\r\n }\r\n var navItems = [\r\n {\r\n link: \"/\",\r\n text: \"Home\"\r\n },\r\n {\r\n link: \"/rules/\",\r\n text: \"Rules\"\r\n },\r\n {\r\n link: \"/timeline/\",\r\n text: \"Timeline\"\r\n },\r\n {\r\n link: '/organizers/',\r\n text: \"Organizers\"\r\n },\r\n {\r\n link: '/quicklinks/',\r\n text: \"QuickLinks\"\r\n },\r\n {\r\n link: '/dnsmos/',\r\n text: \"DNSMOS\"\r\n }\r\n ];\r\n var dropDownItem = [];\r\n var interspeechLogo = React.createElement(\"img\", { width: \"100px\", src: \"https://noisesuppeastusblobstore.blob.core.windows.net/interspeech2020/topright1.png\" });\r\n if (this.state.challengeHack != \"ICASSP2021\") {\r\n navItems.push({\r\n link: '/phase2results/', text: \"FinalResults\"\r\n });\r\n title = \"Deep Noise Suppression Challenge - Interspeech 2020\";\r\n dropDownItem.push({ title: \"ICASSP 2021\", toggleKey: \"ICASSP2021\" });\r\n }\r\n else {\r\n dropDownItem.push({ title: \"Interspeech 2020\", toggleKey: \"Interspeech2020\" });\r\n interspeechLogo = React.createElement(\"div\", null);\r\n }\r\n var navBrandLink = \"/\" + this.state.challengeHack;\r\n return (React.createElement(\"header\", null,\r\n React.createElement(reactstrap_1.Navbar, { className: \"navbar-expand-sm navbar-toggleable-sm border-bottom box-shadow mb-3\", light: true },\r\n React.createElement(reactstrap_1.Container, null,\r\n React.createElement(\"img\", { width: \"200px\", src: \"https://noisesuppeastusblobstore.blob.core.windows.net/interspeech2020/Microsoft-Logo-2012.jpg\" }),\r\n React.createElement(reactstrap_1.NavbarBrand, { tag: react_router_dom_1.Link, to: navBrandLink, title: title }),\r\n React.createElement(reactstrap_1.NavbarToggler, { onClick: this.toggle, className: \"mr-2\" }),\r\n React.createElement(reactstrap_1.Collapse, { className: \"d-sm-inline-flex flex-sm-row-reverse\", isOpen: this.state.isOpen, navbar: true },\r\n React.createElement(\"ul\", { className: \"navbar-nav flex-grow\" },\r\n navItems.map(function (objLink, i) {\r\n var modifiedLink = \"\" + objLink.link + _this.state.challengeHack;\r\n return (React.createElement(reactstrap_1.NavItem, { key: i },\r\n \" \",\r\n React.createElement(reactstrap_1.NavLink, { tag: react_router_dom_1.Link, className: \"text-dark\", to: modifiedLink }, objLink.text)));\r\n }),\r\n React.createElement(reactstrap_1.Dropdown, { isOpen: this.state.isOpen, toggle: this.toggle },\r\n React.createElement(reactstrap_1.DropdownToggle, { caret: true }, this.state.challengeHack),\r\n dropDownItem.map(function (dropObjLink, i) {\r\n if (dropObjLink.toggleKey == \"ICASSP2021\") {\r\n return (React.createElement(reactstrap_1.DropdownMenu, null,\r\n React.createElement(reactstrap_1.DropdownItem, { onClick: function () { return _this.toggleChallenge(\"ICASSP2021\"); } }, dropObjLink.title)));\r\n }\r\n else {\r\n return (React.createElement(reactstrap_1.DropdownMenu, null,\r\n React.createElement(reactstrap_1.DropdownItem, { onClick: function () { return _this.toggleChallenge(\"Interspeech2020\"); } }, dropObjLink.title)));\r\n }\r\n })),\r\n React.createElement(reactstrap_1.NavItem, null))),\r\n interspeechLogo))));\r\n };\r\n return NavMenu;\r\n}(React.PureComponent));\r\nexports.default = NavMenu;\r\n//# sourceMappingURL=NavMenu.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar Home = /** @class */ (function (_super) {\r\n __extends(Home, _super);\r\n function Home() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Home.prototype.render = function () {\r\n if (this.props.match.params.challenge != \"Interspeech2020\") {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"Deep Noise Suppression Challenge - ICASSP 2021\"),\r\n React.createElement(\"p\", null,\r\n \"The ICASSP 2021 Deep Noise Suppression(DNS) challenge is designed to foster innovation in the field of noise suppression to achieve superior perceptual speech quality.We recently organized a DNS challenge special session at \",\r\n React.createElement(\"a\", { href: 'https://dns-challenge.azurewebsites.net/Interspeech2020' }, \"INTERSPEECH 2020\"),\r\n \". We open sourced \",\r\n React.createElement(\"a\", { href: 'https://github.com/microsoft/DNS-Challenge/tree/master/datasets' }, \"training and test datasets\"),\r\n \" for researchers to train their noise suppression models. We also open sourced a \",\r\n React.createElement(\"a\", { href: 'https://github.com/microsoft/P.808' }, \"subjective evaluation framework\"),\r\n \" and used the tool to evaluate and pick the final winners. Many researchers from academia and industry made significant contributions to push the field forward. The \",\r\n React.createElement(\"a\", { href: 'https://dns-challenge.azurewebsites.net/phase2results' }, \"results\"),\r\n \" of the INTERSPEECH DNS Challenge show we still have a long way to go in achieving superior speech quality in challenging noisy conditions. In this challenge, we will be adding over 20 hrs of clean speech with singing and provide more information about the characteristics of the noise based on stationarity. We will also provide over 100000 synthetic and real room impulse responses (RIRs) curated from other data sets.\"),\r\n React.createElement(\"p\", null, \"We will have two tracks for this challenge \"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n React.createElement(\"b\", null, \"Real - Time Denoising track:\"),\r\n \" \",\r\n React.createElement(\"p\", null,\r\n \"The noise suppressor must take less than the stride time \",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"s\")),\r\n \" (in ms) to process a frame of size \",\r\n React.createElement(\"i\", null, \"T\"),\r\n \" (in ms) on an Intel Core i5 quad-core machine clocked at 2.4 GHz or equivalent processors. For example, \",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"s\")),\r\n \" = \",\r\n React.createElement(\"i\", null, \"T\"),\r\n \"/2 for 50% overlap between frames. The total algorithmic latency allowed including the frame size \",\r\n React.createElement(\"i\", null, \"T\"),\r\n \", stride time \",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"s\")),\r\n \" and any look ahead must be less than or equal to 40ms. For example, if you use a frame length of 20ms with a stride of 10ms resulting in an algorithmic delay of 30ms, then you satisfy the latency requirements. If you use a frame size of 32ms with a stride of 16ms resulting in an algorithmic delay of 48ms, then your method does not satisfy the latency requirements as the total algorithmic latency exceeds 40ms. If your frame size plus stride \",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"1\")),\r\n \"=\",\r\n React.createElement(\"i\", null, \"T\"),\r\n \"+\",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"s\")),\r\n \" is less than 40ms, then you can use up to (40-\",\r\n React.createElement(\"i\", null,\r\n \"T\",\r\n React.createElement(\"sub\", null, \"1\")),\r\n \")ms future information.\"),\r\n \" \"),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"b\", null, \"Personalized Deep Noise Suppression (pDNS) track:\"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n React.createElement(\"p\", null, \"Satisfy Track 1 requirements\")),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"p\", null, \"You will have access to 2 minutes speech of a particular speaker to extract speaker related information that might be useful to improve the quality of the noise suppressor. The enhancement must be done on the noisy speech test segment of the same speaker.\")),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"p\", null, \"The enhanced speech using speaker information must be of better quality than enhanced speech without using the speaker information.\"))))),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Participants are forbidden from using the blind test set to retrain or tweak their models.They must not submit clips enhanced using any speech enhancement method that is not being submitted to ICASSP 2021 by the authors.Failing to adhere to these rules will lead to disqualification from the challenge.\")),\r\n React.createElement(\"h2\", null, \"Registration\"),\r\n React.createElement(\"p\", null,\r\n \"Please send an email to \",\r\n React.createElement(\"a\", { href: 'mailto:dns_challenge@microsoft.com?Subject=Challenge%20Query' }, \"dns_challenge@microsoft.com\"),\r\n \" stating that you are interested to participate in the challenge. Please include the following details in your email:\",\r\n React.createElement(\"br\", null),\r\n React.createElement(\"li\", null, \"Names of the participants and name of the team captain\"),\r\n React.createElement(\"li\", null, \"Institution/Company\"),\r\n React.createElement(\"li\", null, \"Email \")),\r\n React.createElement(\"h2\", null, \"Prizes\"),\r\n React.createElement(\"p\", null, \"Top three winning teams from each track will be awarded prizes as outlined in the description of the rules\"),\r\n React.createElement(\"p\", null,\r\n \"Please feel free to reach out to \",\r\n React.createElement(\"a\", { href: 'mailto:dns_challenge@microsoft.com?Subject=Challenge%20Query' }, \"us\"),\r\n \", if you have any questions or need clarification about any aspect of the challenge \")));\r\n }\r\n else {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"Deep Noise Suppression Challenge - Interspeech 2020\"),\r\n React.createElement(\"p\", null,\r\n \"The DNS Challenge at Interspeech 2020 is intended to promote collaborative research in single-channel Speech Enhancement aimed to maximize the perceptual quality and intelligibility of the enhanced speech. The challenge will evaluate the speech quality using the online subjective evaluation framework \",\r\n React.createElement(\"a\", { href: 'https://github.com/microsoft/P.808' }, \"ITU-T P.808\"),\r\n \". The challenge provides \",\r\n React.createElement(\"a\", { href: 'https://github.com/microsoft/DNS-Challenge/tree/master/datasets' }, \"large datasets\"),\r\n \" for training noise suppressors, but allows participants to use any datasets of their choice. Participants can also augment their datasets with the provided data. The challenge also provides a test set that is very extensive. The test set contains both synthetic noisy speech and also real recordings. The final evaluation will be conducted on a blind test set that is similar to the open sourced test set. We also provide model and inference scripts for a baseline noise suppressor that was recently \",\r\n React.createElement(\"a\", { href: 'https://github.com/microsoft/DNS-Challenge/tree/master/NSNet-baseline' }, \"published\"),\r\n \".\"),\r\n React.createElement(\"p\", null,\r\n \"More details about the open sourced data, baseline noise suppressor, ITU-T P.808 and DNS challenge can be found \",\r\n React.createElement(\"a\", { href: 'https://arxiv.org/ftp/arxiv/papers/2001/2001.08662.pdf' }, \"here\"),\r\n \". \"),\r\n React.createElement(\"p\", null, \"Submitted papers will fall under one of these two tracks based on the computational complexity. \"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n \"Real-Time Track: \",\r\n React.createElement(\"p\", null, \"This track focuses on low computational complexity. The algorithm must take less than T/2 (in ms) to process a frame of size T (in ms) on an Intel Core i5 quad core machine clocked at 2.4 GHz or equivalent processors. Frame length T should be less than or equal to 40ms. \")),\r\n React.createElement(\"li\", null,\r\n \"Non-Real-Time Track: \",\r\n React.createElement(\"p\", null, \"This track relaxes the constraints on computational time so that researchers can explore deeper models to attain exceptional speech quality. \"))),\r\n React.createElement(\"p\", null, \"In both the tracks, the Speech Enhancement method may have a maximum of 40ms look ahead. To infer the current frame T (in ms), the algorithm can access any number of past frames but only 40ms of future frames (T+40ms). \"),\r\n React.createElement(\"p\", null,\r\n \" The blind test will be provided to the participating teams on March 18th, 2020. The enhanced clips must be sent back to the organizers by March 22nd, 2020. The organizers will conduct subjective evaluation using ITU-T P.808 framework to get the final ranking of the methods. Please vist \",\r\n React.createElement(\"a\", { href: 'https://dns-challenge.azurewebsites.net/rules' }, \"Rules\"),\r\n \" for more details. \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \" Participants are forbidden from using the blind test set to retrain or tweak their models. They must not submit clips enhanced using any speech enhancement method that is not being submitted to INTERSPEECH 2020 by the authors. Failing to adhere to these rules will lead to disqualification from the challenge.\")),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"h2\", null, \"Registration\"),\r\n React.createElement(\"p\", null,\r\n \"Please send an email to \",\r\n React.createElement(\"a\", { href: 'mailto:dns_challenge@microsoft.com?Subject=Challenge%20Query' }, \"dns_challenge@microsoft.com\"),\r\n \" stating that you are interested to participate in the challenge. Please include the following details in your email:\",\r\n React.createElement(\"br\", null),\r\n React.createElement(\"li\", null, \"Names of the participants and name of the team captain\"),\r\n React.createElement(\"li\", null, \"Institution/Company\"),\r\n React.createElement(\"li\", null, \"Email \")),\r\n React.createElement(\"h2\", null, \"Prizes\"),\r\n React.createElement(\"p\", null, \"Top three winning teams from each track will be awarded prizes as outlined in the description of the rules\"),\r\n React.createElement(\"p\", null,\r\n \"Please feel free to reach out to \",\r\n React.createElement(\"a\", { href: 'mailto:dns_challenge@microsoft.com?Subject=Challenge%20Query' }, \"us\"),\r\n \", if you have any questions or need clarification about any aspect of the challenge \")));\r\n }\r\n };\r\n return Home;\r\n}(React.Component));\r\nexports.default = react_redux_1.connect()(Home);\r\n//# sourceMappingURL=Home.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar Rules = /** @class */ (function (_super) {\r\n __extends(Rules, _super);\r\n function Rules() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Rules.prototype.render = function () {\r\n console.log(\"The route params is \");\r\n console.log(this.props.match.params.challenge);\r\n var entryPeriodString = \"January 20, 2020 to June 19, 2020\";\r\n var developmentPeriodString = \"January 20 - March 22\";\r\n var testingPeriodString = \"March 18 - June 19, 2020\";\r\n var blindsetProvideDate = \"March 18th\";\r\n var blindsetLastDateOfSubmission = \"March 22\";\r\n var challengeTitle = \"INTERSPEECH 2020\";\r\n var trackDetails = \"

Track 1 is focused on low computational complexity. The algorithm must take less than T/2 (in ms) to process a frame of size T (in ms) on an Intel Core i5 quad core machine clocked at 2.4 GHz or equivalent processors. Frame length T should be less than or equal to 40ms.\" +\r\n \"Track 2 has no constraints on computational time so that researchers can explore deeper models to attain exceptional speech quality.\" +\r\n \"In both the tracks, the entry can have a maximum of 40ms look ahead.To infer the current frame T(in ms), the algorithm can access any number of past frames but only 40ms of future frames(T + 40ms).\" +\r\n \"Interspeech 2020 Paper Paper Submission and Judging Period: March 22 - 11: 59 PM PT June 19, 2020\" +\r\n \"Your Entry must be described in a paper accepted by INTERSPEECH 2020. To submit a paper, visit http://www.interspeech2020.org/index.php?m=content&c=index&a=lists&catid=66 and follow instructions to submit a paper.

\";\r\n if (this.props.match.params.challenge == \"ICASSP2021\") {\r\n entryPeriodString = \"September 8th, 2020 to October 2nd , 2020\";\r\n developmentPeriodString = \"September 8th - October 2nd\";\r\n testingPeriodString = \"Sept 8th - October 2nd , 2020\";\r\n blindsetProvideDate = \"October 2nd\";\r\n blindsetLastDateOfSubmission = \"October 9th\";\r\n challengeTitle = \"ICASSP 2021\";\r\n var trackDetails = \"

Both the tracks are focused on low computational complexity denoising. The algorithm must take less than T/2 (in ms) to process a frame of size T (in ms) on an Intel Core i5 quad core machine clocked at 2.4 GHz or equivalent processors. Frame length T should be less than or equal to 40ms. ICASSP 2021 Paper Submission and Judging Period: March 22 - 11:59 PM PT June 19, 2020 Your Entry must be described in a paper accepted by ICASSP 2021. To submit a paper, visit https://2021.ieeeicassp.org/ and follow instructions to submit a paper.

\";\r\n }\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"OFFICIAL RULES\"),\r\n React.createElement(\"ol\", null,\r\n React.createElement(\"li\", null, \"SPONSOR\"),\r\n React.createElement(\"p\", null,\r\n \"These Official Rules (\\\"Rules\\\") govern the operation of the Microsoft M365 Core \",\r\n challengeTitle,\r\n \" Deep Noise Suppression (see details: https://dns-challenge.azurewebsites.net/) Event Contest (\\\"Contest\\\"). Microsoft Corporation, One Microsoft Way, Redmond, WA, 98052, USA, is the Contest sponsor (\\\"Sponsor\\\").\"),\r\n React.createElement(\"li\", null, \"DEFINITIONS\"),\r\n React.createElement(\"p\", null,\r\n \"In these Rules, \\\"Microsoft\\\", \\\"we\\\", \\\"our\\\", and \\\"us\\\", refer to Sponsor and \\\"you\\\" and \\\"yourself\\\" refers to a Contest participant, or the parent/legal guardian of any Contest entrant who has not reached the age of majority to contractually obligate themselves in their legal place of residence. \\\"Event\\\" refers to the \",\r\n challengeTitle,\r\n \" Deep Noise Suppression (see details: https://dns-challenge.azurewebsites.net/) event held in Shanghai, China (the \\\"Event\\\"). By entering you (your parent/legal guardian if you are not the age of majority in your legal place of residence) agree to be bound by these Rules.\"),\r\n React.createElement(\"li\", null, \"ENTRY PERIOD\"),\r\n React.createElement(\"p\", null,\r\n \"The Contest will operate from \",\r\n entryPeriodString,\r\n \" (\\\"Entry Period\\\"). The Entry Period is divided into several periods as described in Section 5 How to Enter.\"),\r\n React.createElement(\"li\", null, \"ELIGIBILITY\"),\r\n React.createElement(\"p\", null, \"Open to any registered Event attendee 18 years of age or older. If you are 18 years of age or older but have not reached the age of majority in your legal place of residence, then you must have consent of a parent/legal guardian. Employees and directors of Microsoft Corporation and its subsidiaries, affiliates, advertising agencies, and Contest Parties are not eligible, nor are persons involved in the execution or administration of this promotion, or the family members of each above (parents, children, siblings, spouse/domestic partners, or individuals residing in the same household). Void in Cuba, Iran, North Korea, Sudan, Syria, Region of Crimea, and where prohibited. For business/tradeshow events: If you are attending the Event in your capacity as an employee, it is your sole responsibility to comply with your employer's gift policies. Microsoft will not be party to any disputes or actions related to this matter. PLEASE NOTE: If you are a public sector employee (government and education), all prize awards will be awarded directly to your public sector organization and subject to receipt of a gift letter signed by your agency/institution's ethics officer, attorney, or designated executive/officer responsible for your organization's gifts/ethics policy. Microsoft seeks to ensure that by offering items of value at no charge in promotional settings it does not create any violation of the letter or spirit of the entrant's applicable gifts and ethics rules.\"),\r\n React.createElement(\"li\", null, \"HOW TO ENTER\"),\r\n React.createElement(\"p\", null,\r\n \"The Contest Objective is to promote collaborative research in real-time single-channel Speech Enhancement aimed to maximize the subjective (perceptual) quality of the enhanced speech. Prizes will be awarded based on the speech quality of deep noise suppression models using the online subjective evaluation framework ITU-T P.808. Only models described in accepted \",\r\n challengeTitle,\r\n \" papers will be eligible for prizes. See https://arxiv.org/ftp/arxiv/papers/2001/2001.08662.pdf for additional Contest details. You may participate as an individual or a team. If forming a team, you must designate a \\\"Team Captain\\\" who will submit all entry materials on behalf of the team and act as the recipient of any prizes that the team may win. Once you register as part of a Team, you cannot change Teams or alter your current team (either by adding or removing members) after the submission of your Entry. Limit one Entry per person and per team. You may not compete on multiple teams and you may not enter individually and on a team. We are not responsible for Entries that we do not receive for any reason, or for Entries that we receive but are not decipherable or not functional for any reason. Each Team is solely responsible for its own cooperation and teamwork. In no event will Microsoft officiate in any dispute regarding the conduct or cooperation of any Team or its members. The Contest will operate as follows: \"),\r\n React.createElement(\"p\", null,\r\n \"Registration / Development Period: \",\r\n developmentPeriodString),\r\n React.createElement(\"p\", null,\r\n \"To register, please send an email to dns_challenge@microsoft.com stating that you are interested to participate in the challenge. Please include the following details in your email:\",\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null, \"Names of the participants and name of the team captain\"),\r\n React.createElement(\"li\", null, \"Institution/Company\"),\r\n React.createElement(\"li\", null, \"Email\")),\r\n \"Then i. develop a speech enhancement model that best meets the Contest Objective as described more fully at https://arxiv.org/ftp/arxiv/papers/2001/2001.08662.pdf and ii. submit a paper to \",\r\n challengeTitle,\r\n \" which reports the computational complexity of the model in terms of the number of parameters and the time it takes to infer a frame on a particular CPU (preferably Intel Core i5 quad core machine clocked at 2.4 GHz). To develop your model, use any publicly available dataset for training noise, including the Contest datasets provided for training and developing models. You may augment your datasets with the Contest dataset. You may mix clean speech and noise in any way that improves the performance of your model.\"),\r\n React.createElement(\"p\", null, \"The final evaluation will be conducted on a blind test set that is similar to the open sourced test set. You may use scripts for a baseline noise suppressor that was recently published here.\"),\r\n React.createElement(\"p\", null,\r\n \"Testing / Entry Period: \",\r\n testingPeriodString,\r\n \"On \",\r\n blindsetProvideDate,\r\n \" the blind test dataset will be sent to the email provided during registration. You will have until 11:59 PM PT on \",\r\n blindsetLastDateOfSubmission,\r\n \" to test your model against this dataset and create a set of enhanced clips to submit for judging (your \\\"Entry\\\"). \"),\r\n React.createElement(\"p\", null, \"You may not use the blind test set to retrain or tweak your model. To submit your entry, share the processed audio signals of the blind test set with the organizers, dns_challenge@microsoft.com, via any publicly accessible file sharing tool such as OneDrive, Dropbox, etc. Each Entry will fall in one of two tracks based on the computational complexity as determined by the Judging Panel: \"),\r\n trackDetails,\r\n React.createElement(\"p\", null, \"The entry limit is one per person during the Entry Period. Any attempt by any you to obtain more than the stated number of entries by using multiple/different accounts, identities, registrations, logins, or any other methods will void your entries and you may be disqualified. Use of any automated system to participate is prohibited.\"),\r\n React.createElement(\"p\", null, \"We are not responsible for excess, lost, late, or incomplete entries. If disputed, entries will be deemed submitted by the \\\"authorized account holder\\\" of the email address, social media account, or other method used to enter. The \\\"authorized account holder\\\" is the natural person assigned to an email address by an internet or online service provider, or other organization responsible for assigning email addresses. \"),\r\n React.createElement(\"li\", null, \"ELIGIBLE ENTRY \"),\r\n React.createElement(\"p\", null,\r\n \"To be eligible, an entry must meet the following content/technical requirements:\",\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n \"Your Entry must be the method described in a paper accepted by \",\r\n challengeTitle),\r\n React.createElement(\"li\", null, \"Your entry must be your own original work; and\"),\r\n React.createElement(\"li\", null, \"Your entry cannot have been selected as a winner in any other contest; and\"),\r\n React.createElement(\"li\", null, \"You must have obtained any and all consents, approvals, or licenses required for you to submit your entry; and\"),\r\n React.createElement(\"li\", null, \"To the extent that entry requires the submission of user-generated content such as software, photos, videos, music, artwork, essays, etc., entrants warrant that their entry is their original work, has not been copied from others without permission or apparent rights, and does not violate the privacy, intellectual property rights, or other rights of any other person or entity. You may include Microsoft trademarks, logos, and designs, for which Microsoft grants you a limited license to use for the sole purposes of submitting an entry into this Contest; and\"),\r\n React.createElement(\"li\", null, \"Your entry may NOT contain, as determined by us in our sole and absolute discretion, any content that is obscene or offensive, violent, defamatory, disparaging or illegal, or that promotes alcohol, illegal drugs, tobacco or a particular political agenda, or that communicates messages that may reflect negatively on the goodwill of Microsoft. \"),\r\n React.createElement(\"li\", null,\r\n \"Your entry must NOT include enhanced clips using other noise suppression methods that you are not submitting to \",\r\n challengeTitle,\r\n \". \"))),\r\n React.createElement(\"li\", null, \"USE OF ENTRIES\"),\r\n React.createElement(\"p\", null, \"We are not claiming ownership rights to your Submission. However, by submitting an entry, you grant us an irrevocable, royalty-free, worldwide right and license to use, review, assess, test and otherwise analyze your entry and all its content in connection with this Contest and use your entry in any media whatsoever now known or later invented for any non-commercial or commercial purpose, including, but not limited to, the marketing, sale or promotion of Microsoft products or services, without further permission from you. You will not receive any compensation or credit for use of your entry, other than what is described in these Official Rules.\"),\r\n React.createElement(\"p\", null, \"By entering you acknowledge that the we may have developed or commissioned materials similar or identical to your entry and you waive any claims resulting from any similarities to your entry. Further you understand that we will not restrict work assignments of representatives who have had access to your entry and you agree that use of information in our representatives' unaided memories in the development or deployment of our products or services does not create liability for us under this agreement or copyright or trade secret law.\"),\r\n React.createElement(\"p\", null, \"Your entry may be posted on a public website. We are not responsible for any unauthorized use of your entry by visitors to this website. We are not obligated to use your entry for any purpose, even if it has been selected as a winning entry.\"),\r\n React.createElement(\"li\", null, \"WINNER SELECTION AND NOTIFICATION\"),\r\n React.createElement(\"p\", null,\r\n \"Pending confirmation of eligibility, potential prize winners will be selected by Microsoft or their Agent or a qualified judging panel from among all eligible entries received based on the following judging criteria: 99% - The subjective speech quality evaluated on the blind test set using ITU-T P.808 framework. We will use the submitted clips with no alteration to conduct ITU-T P.808 subjective evaluation and pick the winners based on the results. Among the submitted proposals differing by less than 0.1 MOS, the lower complexity model will be given higher ranking. See https://arxiv.org/ftp/arxiv/papers/2001/2001.08662.pdf for additional Contest details. 1% - The Entry was described in an accepted \",\r\n challengeTitle,\r\n \" paper Winners will be selected within 7 days following the event. Winners will be notified within 7 days following the Event with winner instructions, including a prize claim deadline.\"),\r\n React.createElement(\"p\", null, \"In the event of a tie between any eligible entries, an additional judge will break the tie based on the judging criteria described above. The decisions of the judges are final and binding. If we do not receive a sufficient number of entries meeting the entry requirements, we may, at our discretion, select fewer winners than the number of Contest Prizes described below. If public vote determines winners, it is prohibited for any person to obtain votes by any fraudulent or inappropriate means, including offering prizes or other inducements in exchange for votes, automated programs or fraudulent i.d's. Microsoft will void any questionable votes.\"),\r\n React.createElement(\"p\", null, \"Winners will be notified via the contact information provided during entry and may be required to complete a prize claim and tax form (\\\"Forms\\\"). If a selected winner cannot be contacted, is ineligible, fails to claim a prize or fails to return any Forms, the selected winner will forfeit their prize and an alternate winner will be selected time allowing. Only three alternate winners will be selected, after which unclaimed prizes will remain unawarded. \"),\r\n React.createElement(\"li\", null, \"PRIZES\"),\r\n React.createElement(\"p\", null, \"The following prizes will be awarded: \"),\r\n React.createElement(\"p\", null, \"Two First Prizes: Each winner will receive: $1,000, paid in the form of a check from the sponsor or donation to the Individual Entrant or Team Captain's Educational institution. Approximate Retail Value (ARV) $1,000.00.\"),\r\n React.createElement(\"p\", null, \"Two (2) Second Prizes: Each winner will receive: $500, paid in the form of a check from the sponsor or donation to the Individual Entrant or Team Captain's Educational Institution Approximate Retail Value (ARV) \"),\r\n React.createElement(\"p\", null, \"Two (2) Third Prizes: Each winner will receive: A(n) Cash. Approximate Retail Value (ARV) $250.00.\"),\r\n React.createElement(\"p\", null, \"All prizes are stated in US dollars.\"),\r\n React.createElement(\"p\", null, \"The total Approximate Retail Value (ARV) of all prizes: $3,500\"),\r\n React.createElement(\"p\", null, \"PLEASE NOTE: If you are a public sector employee (government and education), your prize will be awarded directly to your public sector organization as a donation, and subject to receipt of a gift letter signed by your agency/institution's ethics officer, attorney, or designated executive/officer responsible for your organization's gifts/ethics policy.\"),\r\n React.createElement(\"p\", null, \"We will only award one prize per person. No more than the stated number of prizes will be awarded. No substitution, transfer, or assignment of prize permitted, except that Microsoft reserves the right to substitute a prize of equal or greater value in the event the offered prize is unavailable. Prizes are awarded \\\"AS IS\\\" with no warranty of any kind, either express or implied, including but not limited to, the implied warranties or merchantability, fitness for a particular purpose, or non-infringement. Prize winners may be required to complete and return prize claim and / or tax forms (\\\"Forms\\\") within the deadline stated in the winner notification. Taxes on the prize, if any, are the sole responsibility of the winner, who is advised to seek independent counsel regarding the tax implications of accepting a prize. By accepting a prize, you agree that Microsoft may use your entry, name, image and hometown online and in print, or in any other media, in connection with this Contest without payment or compensation to you, except where prohibited by law.\"),\r\n React.createElement(\"li\", null, \"ODDS\"),\r\n React.createElement(\"p\", null, \"The odds of winning are based on the number and quality of eligible entries received. \"),\r\n React.createElement(\"li\", null, \"GENERAL CONDITIONS AND RELEASE OF LIABILITY\"),\r\n React.createElement(\"p\", null, \"To the extent allowed by law, by entering you agree to release and hold harmless Microsoft and its respective parents, partners, subsidiaries, affiliates, employees, and agents from any and all liability or any injury, loss, or damage of any kind arising in connection with this Contest or any prize won.\"),\r\n React.createElement(\"p\", null, \"All local laws apply. The decisions of Microsoft are final and binding.\"),\r\n React.createElement(\"p\", null, \"We reserve the right to cancel, change, or suspend this Contest for any reason, including cheating, technology failure, catastrophe, war, or any other unforeseen or unexpected event that affects the integrity of this Contest, whether human or mechanical. If the integrity of the Contest cannot be restored, we may select winners from among all eligible entries received before we had to cancel, change or suspend the Contest.\"),\r\n React.createElement(\"p\", null, \"If you attempt or we have strong reason to believe that you have compromised the integrity or the legitimate operation of this Contest by cheating, hacking, creating a bot or other automated program, or by committing fraud in any way, we may seek damages from you to the full extent of the law and you may be banned from participation in future Microsoft promotions.\"),\r\n React.createElement(\"li\", null, \"GOVERNING LAW\"),\r\n React.createElement(\"p\", null, \"This Contest will be governed by the laws of the State of Washington, and you consent to the exclusive jurisdiction and venue of the courts of the State of Washington for any disputes arising out of this Contest.\"),\r\n React.createElement(\"li\", null, \"WINNERS LIST\"),\r\n React.createElement(\"p\", null,\r\n \"Send an email to dns_challenge@microsoft.com with the subject line \\\"\",\r\n challengeTitle,\r\n \" Deep Noise Suppression (see details: https://dns-challenge.azurewebsites.net/) winners\\\" within 30 days of June 19, 2020 to receive a list of winners that received a prize worth $25.00 or more.\"),\r\n React.createElement(\"li\", null, \"PRIVACY\"),\r\n React.createElement(\"p\", null, \"At Microsoft, we are committed to protecting your privacy. Microsoft uses the information you provide on this form to notify you of important information about our products, upgrades and enhancements, and to send you information about other Microsoft products and services. Microsoft will not share the information you provide with third parties without your permission except where necessary to complete the services or transactions you have requested, or as required by law. Microsoft is committed to protecting the security of your personal information. We use a variety of security technologies and procedures to help protect your personal information from unauthorized access, use, or disclosure. Your personal information is never shared outside the company without your permission, except under conditions explained above. \"),\r\n React.createElement(\"p\", null, \"If you believe that Microsoft has not adhered to this statement, please contact Microsoft by sending an email to privrc@microsoft.com or postal mail to Microsoft Privacy Response Center, Microsoft Corporation, One Microsoft Way, Redmond, WA 98052.\"))));\r\n };\r\n return Rules;\r\n}(React.Component));\r\nexports.default = react_redux_1.connect()(Rules);\r\n//# sourceMappingURL=Rules.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar Timeline = /** @class */ (function (_super) {\r\n __extends(Timeline, _super);\r\n function Timeline() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Timeline.prototype.render = function () {\r\n if (this.props.match.params.challenge == \"ICASSP2021\") {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"Timeline \"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null, \"September 8, 2020: Release of the datasets and scripts for training and testing.\"),\r\n React.createElement(\"li\", null, \"October 2, 2020: Blind test set released to participants. \"),\r\n React.createElement(\"li\", null, \"October 9, 2020: Deadline for participants to submit their results for objective and P.808 subjective evaluation on the blind test set.\"),\r\n React.createElement(\"li\", null, \"October 16, 2020: Organizers will notify the participants about the results. \"),\r\n React.createElement(\"li\", null, \"October 19, 2020: Regular paper submission deadline for ICASSP 2021. \"),\r\n React.createElement(\"li\", null, \"January 22, 2021: Paper acceptance/rejection notification. \"),\r\n React.createElement(\"li\", null, \"January 25, 2021: Notification of the winners with winner instructions, including a prize claim deadline.\"))));\r\n }\r\n else {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"Timeline \"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null, \"January 20th, 2020: Release of the datasets and scripts for training and testing. \"),\r\n React.createElement(\"li\", null, \"March 30th, 2020: Complimentary P.808 Subjective evaluation.\"),\r\n React.createElement(\"li\", null, \"April 22nd, 2020: Release of the blind test set.\"),\r\n React.createElement(\"li\", null, \"April 27th, 2020: Deadline for participants to submit their enhanced clips for P.808 evaluation on the blind test set.\"),\r\n React.createElement(\"li\", null, \"May 4th, 2020: Organizers will notify the participants about the results.\"),\r\n React.createElement(\"li\", null, \"May 8th, 2020: Regular paper submission deadline for Interspeech 2020.\"),\r\n React.createElement(\"li\", null, \"July 24th, 2020: Paper acceptance/rejection notification\"),\r\n React.createElement(\"li\", null, \"July 31st, 2020: Notification of the winners with winner instructions, including a prize claim deadline.\"))));\r\n }\r\n };\r\n return Timeline;\r\n}(React.Component));\r\nexports.default = react_redux_1.connect()(Timeline);\r\n//# sourceMappingURL=Timeline.js.map","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { RouteComponentProps } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport { ApplicationState } from '../store';\r\nimport * as WeatherForecastsStore from '../store/WeatherForecasts';\r\n\r\n// At runtime, Redux will merge together...\r\ntype WeatherForecastProps =\r\n WeatherForecastsStore.WeatherForecastsState // ... state we've requested from the Redux store\r\n & typeof WeatherForecastsStore.actionCreators // ... plus action creators we've requested\r\n & RouteComponentProps<{ startDateIndex: string }>; // ... plus incoming routing parameters\r\n\r\n\r\nclass FetchData extends React.PureComponent {\r\n // This method is called when the component is first added to the document\r\n public componentDidMount() {\r\n this.ensureDataFetched();\r\n }\r\n\r\n // This method is called when the route parameters change\r\n public componentDidUpdate() {\r\n this.ensureDataFetched();\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n

Weather forecast

\r\n

This component demonstrates fetching data from the server and working with URL parameters.

\r\n {this.renderForecastsTable()}\r\n {this.renderPagination()}\r\n
\r\n );\r\n }\r\n\r\n private ensureDataFetched() {\r\n const startDateIndex = parseInt(this.props.match.params.startDateIndex, 10) || 0;\r\n this.props.requestWeatherForecasts(startDateIndex);\r\n }\r\n\r\n private renderForecastsTable() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.forecasts.map((forecast: WeatherForecastsStore.WeatherForecast) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
DateTemp. (C)Temp. (F)Summary
{forecast.date}{forecast.temperatureC}{forecast.temperatureF}{forecast.summary}
\r\n );\r\n }\r\n\r\n private renderPagination() {\r\n const prevStartDateIndex = (this.props.startDateIndex || 0) - 5;\r\n const nextStartDateIndex = (this.props.startDateIndex || 0) + 5;\r\n\r\n return (\r\n
\r\n Previous\r\n {this.props.isLoading && Loading...}\r\n Next\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n (state: ApplicationState) => state.weatherForecasts, // Selects which state properties are merged into the component's props\r\n WeatherForecastsStore.actionCreators // Selects which action creators are merged into the component's props\r\n)(FetchData as any);\r\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar Organizers = /** @class */ (function (_super) {\r\n __extends(Organizers, _super);\r\n function Organizers() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Organizers.prototype.render = function () {\r\n if (this.props.match.params.challenge == \"ICASSP2021\") {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Chandan K A Reddy\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Hari Dubey\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Ross Cutler\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Vishak Gopal\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Robert Aichner\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Sebastian Braun\"),\r\n \", Microsoft Research, Germany \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Hannes Gamper\"),\r\n \", Microsoft Research, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Sriram Srinivasan\"),\r\n \", Microsoft Corp, USA \")));\r\n }\r\n else {\r\n return (React.createElement(\"div\", null,\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Chandan K A Reddy\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Hari Dubey\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Ross Cutler\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Johannes Gehrke\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Vishak Gopal\"),\r\n \", Microsoft Corp, USA \"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"Robert Aichner\"),\r\n \", Microsoft Corp, USA \")));\r\n }\r\n };\r\n return Organizers;\r\n}(React.Component));\r\nexports.default = react_redux_1.connect()(Organizers);\r\n//# sourceMappingURL=Organizers.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar QuickLinks = function () { return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"Quick Links \"),\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n React.createElement(\"a\", { href: \"https://github.com/microsoft/DNS-Challenge/tree/master/datasets\" }, \"Training and test datasets\"),\r\n \" \"),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"a\", { href: \"https://github.com/microsoft/DNS-Challenge/tree/master\" }, \" Data synthesizer and unit tests scripts\"),\r\n \" \"),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"a\", { href: \"https://github.com/microsoft/DNS-Challenge/tree/master/NSNet-baseline\" }, \" Baseline Speech Enhancement - NSNet \")),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"a\", { href: \"https://arxiv.org/ftp/arxiv/papers/2001/2001.08662.pdf\" }, \" Paper describing the challenge \")),\r\n React.createElement(\"li\", null,\r\n \"Contact: \",\r\n React.createElement(\"a\", { href: \"dns_challenge@microsoft.com\" }, \" dns_challenge@microsoft.com \"))))); };\r\nexports.default = react_redux_1.connect()(QuickLinks);\r\n//# sourceMappingURL=Links.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar React = require(\"react\");\r\nvar react_redux_1 = require(\"react-redux\");\r\nvar DnsMOS = function () { return (React.createElement(\"div\", null,\r\n React.createElement(\"h1\", null, \"DNSMOS: A No-reference Objective speech quality metric\"),\r\n React.createElement(\"p\", null, \"We developed a robust objective perceptual speech quality metric called DNSMOS. It can be used to stack rank different DNS methods based on Mean Opinion Score (MOS) estimates with great accuracy and hence the name DNSMOS. It is a neural network based model that is trained using the ground truth human ratings obtained using ITU-T P.808. The audio data used to train the DNSMOS model is gathered from the numerous P.808 experiments that we conducted in the process of improving the quality of noise suppressor. DNSMOS is trained on the largest and the most extensive data set that we are aware of. We were able to achieve a Spearman rank correlation coefficient of 0.96 with subjective human ratings.\"),\r\n React.createElement(\"h2\", null, \"Evaluation methodology\"),\r\n React.createElement(\"p\", null, \"We have created a Web-API for you to use for evaluating your clips\"),\r\n React.createElement(\"p\", null,\r\n \"For access to the API, please send an email to \",\r\n React.createElement(\"a\", { href: 'mailto:dns_challenge@microsoft.com?Subject=DNSMOS' }, \"dns_challenge@microsoft.com\"),\r\n \" stating that you are interested to use the API and we will provide you a key and url to insert into the below code snippet\"),\r\n React.createElement(\"pre\", { className: \"prettyprint lang-py\" },\r\n React.createElement(\"code\", null,\r\n React.createElement(\"p\", null, \"import argparse\"),\r\n React.createElement(\"p\", null, \"import glob\"),\r\n React.createElement(\"p\", null, \"import json\"),\r\n React.createElement(\"p\", null, \"import os\"),\r\n React.createElement(\"p\", null, \"import requests\"),\r\n React.createElement(\"p\", null, \"import soundfile as sf\"),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"p\", null, \"# URL for the web service\"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"SCORING_URI\"),\r\n \" = ''\"),\r\n React.createElement(\"p\", null, \"# If the service is authenticated, set the key or token\"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"b\", null, \"AUTH_KEY\"),\r\n \" = ''\"),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"p\", null, \"# Set the content type\"),\r\n React.createElement(\"p\", null, \"headers = {'Content-Type': 'application/json'}\"),\r\n React.createElement(\"p\", null, \"# If authentication is enabled, set the authorization header\"),\r\n React.createElement(\"p\", null,\r\n \"headers['Authorization'] = f'Bearer {\",\r\n React.createElement(\"b\", null, \"AUTH_KEY\"),\r\n \" }'\"),\r\n React.createElement(\"p\", null, \"def main(args):\"),\r\n React.createElement(\"p\", null, \" audio_clips_list = glob.glob(os.path.join(args.testset_dir, \\\"*.wav\\\"))\"),\r\n React.createElement(\"p\", null, \" for fpath in audio_clips_list:\"),\r\n React.createElement(\"p\", null, \" audio, fs = sf.read(fpath)\"),\r\n React.createElement(\"p\", null, \" if fs != 16000:\"),\r\n React.createElement(\"p\", null, \" print('Only sampling rate of 16000 is supported as of now')\"),\r\n React.createElement(\"p\", null, \" data = {\\\"data\\\": audio.tolist()}\"),\r\n React.createElement(\"p\", null, \" input_data = json.dumps(data)\"),\r\n React.createElement(\"p\", null, \" # Make the request and display the response\"),\r\n React.createElement(\"p\", null,\r\n \" \",\r\n React.createElement(\"b\", null, \"resp = requests.post(SCORING_URI, data=input_data, headers=headers)\")),\r\n React.createElement(\"p\", null, \" print(resp.json())\"),\r\n React.createElement(\"br\", null),\r\n React.createElement(\"p\", null, \"if __name__==\\\"__main__\\\":\"),\r\n React.createElement(\"p\", null, \" parser = argparse.ArgumentParser()\"),\r\n React.createElement(\"p\", null, \" parser.add_argument(\\\"--testset_dir\\\", required=True,\"),\r\n React.createElement(\"p\", null, \" help='Path to the dir containing audio clips to be evaluated')\"),\r\n React.createElement(\"p\", null, \" args = parser.parse_args()\"),\r\n React.createElement(\"p\", null, \" main(args)\"))))); };\r\nexports.default = react_redux_1.connect()(DnsMOS);\r\n//# sourceMappingURL=DnsMOS.js.map","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Component } from 'react';\r\n\r\n\r\nexport default class FinalResults extends Component {\r\n state = {\r\n __html: \"\"\r\n }\r\n\r\n componentWillMount() {\r\n // fetch the HTML fragment with a local API request\r\n fetch(`/DNSChallengeResults/Anova`)\r\n .then(resp => {\r\n // fetch returns a readable stream, so translate it into stringified HTML\r\n return resp.text();\r\n })\r\n .then(content => {\r\n // dangerouslySetInnerHTML requires using an object with an `__html` key\r\n this.setState({\r\n __html: content\r\n });\r\n })\r\n .catch(err => {\r\n // handle the error\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Component } from 'react';\r\n\r\n\r\nexport default class Phase1Results extends Component {\r\n state = {\r\n __html: \"\"\r\n }\r\n\r\n componentWillMount() {\r\n // fetch the HTML fragment with a local API request\r\n fetch(`/DNSChallengeResults/Phase1`)\r\n .then(resp => {\r\n // fetch returns a readable stream, so translate it into stringified HTML\r\n return resp.text();\r\n })\r\n .then(content => {\r\n // dangerouslySetInnerHTML requires using an object with an `__html` key\r\n this.setState({\r\n __html: content\r\n });\r\n })\r\n .catch(err => {\r\n // handle the error\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Component } from 'react';\r\n\r\n\r\nexport default class Phase2Results extends Component {\r\n state = {\r\n __html: \"\"\r\n }\r\n\r\n componentWillMount() {\r\n // fetch the HTML fragment with a local API request\r\n fetch(`/DNSChallengeResults/Phase2`)\r\n .then(resp => {\r\n // fetch returns a readable stream, so translate it into stringified HTML\r\n return resp.text();\r\n })\r\n .then(content => {\r\n // dangerouslySetInnerHTML requires using an object with an `__html` key\r\n this.setState({\r\n __html: content\r\n });\r\n })\r\n .catch(err => {\r\n // handle the error\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}","import * as WeatherForecasts from './WeatherForecasts';\r\nimport * as Counter from './Counter';\r\n\r\n// The top-level state object\r\nexport interface ApplicationState {\r\n counter: Counter.CounterState | undefined;\r\n weatherForecasts: WeatherForecasts.WeatherForecastsState | undefined;\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\nexport const reducers = {\r\n counter: Counter.reducer,\r\n weatherForecasts: WeatherForecasts.reducer\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport interface AppThunkAction {\r\n (dispatch: (action: TAction) => void, getState: () => ApplicationState): void;\r\n}\r\n","import { Action, Reducer } from 'redux';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\n\r\nexport interface CounterState {\r\n count: number;\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n// Use @typeName and isActionType for type detection that works even after serialization/deserialization.\r\n\r\nexport interface IncrementCountAction { type: 'INCREMENT_COUNT' }\r\nexport interface DecrementCountAction { type: 'DECREMENT_COUNT' }\r\n\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\nexport type KnownAction = IncrementCountAction | DecrementCountAction;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\n\r\nexport const actionCreators = {\r\n increment: () => ({ type: 'INCREMENT_COUNT' } as IncrementCountAction),\r\n decrement: () => ({ type: 'DECREMENT_COUNT' } as DecrementCountAction)\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nexport const reducer: Reducer = (state: CounterState | undefined, incomingAction: Action): CounterState => {\r\n if (state === undefined) {\r\n return { count: 0 };\r\n }\r\n\r\n const action = incomingAction as KnownAction;\r\n switch (action.type) {\r\n case 'INCREMENT_COUNT':\r\n return { count: state.count + 1 };\r\n case 'DECREMENT_COUNT':\r\n return { count: state.count - 1 };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\nimport { History } from 'history';\r\nimport { ApplicationState, reducers } from './';\r\n\r\nexport default function configureStore(history: History, initialState?: ApplicationState) {\r\n const middleware = [\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history)\r\n });\r\n\r\n const enhancers = [];\r\n const windowIfDefined = typeof window === 'undefined' ? null : window as any;\r\n if (windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__) {\r\n enhancers.push(windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__());\r\n }\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers)\r\n );\r\n}\r\n"],"sourceRoot":""}