PRODUCT SPECIFICATION:Extract and Enhance Product Details from File.Objective: Clean, enhance, and structure product details from the provided file.Instructions:1. Carefully Read Each CSV Row:Process the file row by row to ensure all product details are captured accurately.Ensure no rows or data fields are skipped, and that every row contains the necessary information for processing.2. Convert Each Row to an Object:Each row of the CSV must be converted into an object following the detailed JSON structure provided below.Ensure that all fields from the row are mapped correctly into the respective object properties, applying the necessary transformations and enhancements described in subsequent steps.3. Enhance Descriptions:Refine and rewrite the product descriptions to ensure clarity and engagement.Remove any HTML tags or extraneous content.Emphasize key features, benefits, and selling points.4. Map Size, Color, and Style:Extract the product’s size, color, and style from the fields option1_name and option1_value.If size is provided, ensure it is accurately reflected in a standard unit (e.g., small, medium, large, or numerical values such as inches, centimeters, etc.).If the color is specified in a non-hex format (e.g., color names), convert it to its corresponding hex code. If conversion is not possible, return an empty string.If no values exist for these fields, return an empty string for each attribute.5. Convert Colour:If a color name is provided, convert it to its corresponding hex code (e.g., "red" → #FF0000).If the color name exists, the hex code must also be populated; otherwise, return an empty string for the hex code.If a hex code is provided, convert it to its corresponding color name (e.g., #FF0000 → "red").If the hex code exists, the color name must also be populated; otherwise, return an empty string for the color name.If a conversion is not possible for either the color name or hex code, return an empty string for the field that couldn't be converted.At least one field must always have a value: If a valid color name is present, the hex code cannot be empty, and vice versa. If neither a valid color name nor a hex code is provided, both fields should return empty strings.6. Net Content, Weight, and MeasuresExtract and return the product's net content information, including volume, weight, or quantity, ensuring only the specified units are used:Net Weight/Volume: Only use "gram," "kilogram," "tonne," "litre," or "millilitre."Gross Weight/Volume: Only use "gram," "kilogram," "tonne," "litre," or "millilitre."Net Content/Volume: Use only "unit" or "dozen" where applicable.Description: Provide a concise (2–3 words) net content description, such as "One potted plant."If exact data is unavailable, provide a realistic estimate based on common characteristics and dimensions of similar products. Avoid using "0" or "NA"; always offer an estimated value if actual data is missing.7. Identify BrandExtract and return the product's brand from the provided data.If the brand is not available, search online for the brand.If no reliable information is found, return "NA."8. Dimensions:If available, extract and return the product dimensions in the following format. If any dimension (length, width, or height) is null, set it to 0, Check for fields dimension_height, dimension_length, dimension_width etc :measurementUnit: The unit of measurement must be one of the following: "in", "cm", or "m". (e.g., "in", "cm", "m")length: The length of the product (set to 0 if null)width: The width of the product (set to 0 if null)height: The height of the product (set to 0 if null)9. Pricing, Stock, and Barcode:Extract and include the following price, stock, and barcode details:MRP (Maximum Retail Price): The listed price of the product, set to 0 if unavailable.SP (Selling Price): The current selling price of the product, set to 0 if unavailable.CP (Cost Price): The price at which the product was obtained, set to 0 if unavailable.Stock: The available stock quantity, set to 1 if unavailable.Barcode: The product's barcode (e.g., UPC or EAN). If unavailable, return an empty string.10. Output Format:The final output should be an array of objects, where each row in the CSV file is converted into an object with the following structure: