anchor.diff:      importedURIs[importUri] = true;
       //route.addEventListener('lazy-loaded', pageLoadedCallback);
       router._ajax.url = route.imp;
  -    router._ajax.onCoreResponse.first.then((Event e) => pageLoadedCallback(e, router, contentHtml, importUri, route, url, eventDetail));
  +    router._ajax.onCoreResponse.first.then((CustomEvent e) => pageLoadedCallback(e, router, contentHtml, importUri, route, url, eventDetail));
       router._ajax.onError.first.then(onError);
       router._ajax.go();
     } else {
  
positive.code:       // auto or hash
  
        // check for a hash path
        if (uri.fragment.startsWith('#/')) {
          // hash path
          isHashPath = true;
          uri = uri.replace(path: uri.fragment.substring(1));
        } else if (uri.fragment.startsWith('#!/')) {
          // hashbang path
          isHashPath = true;
          uri = uri.replace(path: uri.fragment.substring(2));
        } else if (isHashPath) {
          // still use the hash if mode="hash"
          if (uri.fragment.length == 0) {
            uri = uri.replace(path: '/');
          } else {
            String pathAndQuery = uri.fragment.substring(1);
            int index = pathAndQuery.indexOf("?");
            String path = pathAndQuery;
            String query = "";
            if(index != -1){
              path = pathAndQuery.substring(0, index);
              query = pathAndQuery.substring(index+1);
            }
  
            uri = uri.replace(path: path, query: query);
          }
        }
  
  
negative.code:   // Import and activate a custom element or template
  void importAndActivate(AppRouter router, String importUri, AppRoute route, RouteUri url, Map eventDetail){
    Element contentHtml;
  
    pageLoadedCallback(CustomEvent e, AppRouter router, Element contentHtml, String importUri, AppRoute route, RouteUri url, Map eventDetail) {
      final String content = e.detail['response'];
  
      if (route.active) {
  