parseAttributes(rootElement) {
      Logger.debug("AttributeManager: Parsing attributes with colon...");
      const allElements = rootElement.querySelectorAll("*");
      for (const element2 of allElements) {
        const attributes = element2.attributes;
        for (let i3 = 0; i3 < attributes.length; i3++) {
          const attr = attributes[i3];
          if (attr.name.startsWith(":")) {
            Logger.debug(`AttributeManager: Found attribute:`, attr);
            const realAttrName = attr.name.substring(1);
            const expression = attr.value;
            this.updateElementAttribute(element2, realAttrName, expression);
            this.domManager.registerDomDependency(expression, element2, {
              type: "attribute",
              attribute: realAttrName,
              expression
            });
            element2.removeAttribute(attr.name);
          }
        }
      }
    }
Parses and processes attribute bindings in the provided root DOM element. 
Attributes prefixed with a colon (for example, `:class`) * are treated as dynamic bindings.

For each dynamically bound attribute:
- Updates the attribute value on the element based on the
  current model store state.
- Registers a dependency between the element and the attribute
  expression in the DOM dependency tracker.
- Removes the colon-prefixed attribute from the DOM.

@param {HTMLElement} rootElement - The root element to search
                                   for attribute bindings.