C# Corner
Tech
News
Videos
Forums
Trainings
Books
Live
More
Interviews
Events
Jobs
Learn
Career
Members
Blogs
Challenges
Certifications
Bounties
Contribute
Article
Blog
Video
Ebook
Interview Question
Collapse
Feed
Dashboard
Wallet
Learn
Achievements
Network
Refer
Rewards
SharpGPT
Premium
Contribute
Article
Blog
Video
Ebook
Interview Question
Register
Login
Tags
No tag found
Content Filter
Articles
Videos
Blogs
Resources
News
Forums
Interviews
Complexity Level
Beginner
Intermediate
Advanced
Refine by Author
[Clear]
Riya Patel(17)
Ananya Desai(14)
Saurav Kumar(11)
Aarav Patel(9)
Darshan Adakane(5)
Nidhi Sharma(4)
Raghunath Bhukan(4)
Niharika Gupta(3)
Vipin Mittal(3)
Nagaraj M(3)
Tanuj (3)
John Godel(2)
Jignesh Trivedi(2)
Meeran Siddiqui(1)
Vishal Yelve(1)
Yogeshkumar Hadiya(1)
subramanya m(1)
Pushpendra Shukla(1)
Henil Patel(1)
Govind Jangra(1)
Priya Prajapati(1)
Divyesh Chauhan(1)
Cynthia Sathuragiri(1)
Mahesh Chand(1)
Mariem Moalla(1)
Nabaraj Ghimire(1)
Harsh Bhensawala(1)
Jayant Kumar(1)
Sandhiya Priya(1)
Thisara Dilshan(1)
Neel Shah(1)
Unnati Patel(1)
Sangeet Shah(1)
Resources
No resource found
ASP.NET Core with C#: A Complete Introduction and Practical Example
Jun 08, 2026.
Discover the fundamentals of ASP.NET Core and C# in this beginner-friendly guide. This article explains the key features of ASP.NET Core, including its cross-platform capabilities, high performance, and built-in dependency injection, while demonstrating how to build a simple RESTful Web API with practical code examples. Whether you're new to web development or looking to strengthen your backend development skills, this tutorial provides a solid foundation for creating modern, scalable, and secure applications using ASP.NET Core and C#.
10 Potentially Harmful NuGet Packages (and Why)
Jun 08, 2026.
Discover 10 common NuGet packages and their potential risks, plus best practices for secure and performant .NET development.
How to Build Offline AI Applications in .NET Without Cloud Dependencies
Jun 09, 2026.
Build offline AI apps in .NET without cloud. Leverage local models like Phi & tools like Ollama for privacy, cost savings, and faster responses.
Model Context Protocol (MCP) Security: Preventing Prompt Injection and Tool Hijacking
Jun 08, 2026.
Learn how to secure Model Context Protocol (MCP) applications by preventing prompt injection, tool hijacking, unauthorized access, and other AI security threats using proven enterprise security practices.
AI Agent Security Risks Every Developer Should Understand
Jun 05, 2026.
Learn the most important AI agent security risks including prompt injection, data leakage, excessive permissions, and secure AI development best practices.
Clean Architecture in .NET: Benefits, Challenges, and Implementation Guide
Jun 05, 2026.
Learn Clean Architecture in .NET with practical examples. Explore its benefits, challenges, implementation approach, and best practices for scalable applications.
AI Agent Security Risks and Best Practices Every Developer Should Know
Jun 04, 2026.
Learn the top AI agent security risks, including prompt injection, data exposure, and excessive permissions, along with best practices for building secure AI systems.
Stop Prompt Injection in AI Support Bots
Jun 02, 2026.
Stop Prompt Injection in AI Support Bots
AI-Native Without AI-Dependent
May 30, 2026.
AI adoption is outpacing governance. Learn how to stay AI-native without becoming AI-dependent, preserving human judgment and avoiding critical risks.
AI Memory Architectures Explained for Developers
May 29, 2026.
Explore AI memory architectures: short-term, long-term, RAG, and context injection. Learn how to build AI that remembers and personalizes experiences.
The Rise of AI Runtime Security for Enterprise Applications
May 29, 2026.
Discover AI runtime security: protect enterprise AI from prompt injection, data leaks, & unauthorized access. Essential for safe, compliant AI deployment.
Understanding Middleware in .NET
May 25, 2026.
Unlock the power of ASP.NET Core! This guide demystifies middleware, explaining request pipelines, custom creation, dependency injection, and best practices. Master the flow!
SQL Injection: Complete Guide with Examples and Proper Solutions
May 21, 2026.
Master SQL Injection: Understand attack types, real-world examples, and robust solutions. Learn to protect your applications with best practices and secure code.
Complete Guide to ASP.NET Core API Security
May 21, 2026.
Comprehensive guide to ASP.NET Core API security, covering authentication, authorization, encryption, and best practices from beginner to advanced levels. Protect your APIs!
Being AI-Native Does Not Mean Being AI-Dependent
May 19, 2026.
AI-native isn't blind reliance. It's strategically integrating AI to boost human skills, ownership, and accountability. Master AI for augmented, not delegated, intelligence.
Secure AI Development: Best Practices for Enterprise Software Teams
May 13, 2026.
Explore secure AI development best practices for enterprise software teams. Learn to mitigate risks like prompt injection, data leakage, and supply chain vulnerabilities.
Thermistors Explained: Types, Working Principle, Advantages, and Applications
May 11, 2026.
Explore thermistors: temperature-sensitive resistors for precise measurement & control. Learn about types, applications, advantages, & disadvantages. A vital component!
AI Security Explained: Protecting Applications in the Agentic AI Era
May 12, 2026.
Explore AI security in the agentic era. Learn about prompt injection, data leakage, AI malware, and best practices for building secure AI applications.
Building Secure AI Agents for Enterprise Applications
May 12, 2026.
Learn how to build secure AI agents for enterprise applications. Explore security risks, architectures, and best practices for deploying production-ready AI systems.
AI Security Trends Every Developer Should Watch This Year
May 12, 2026.
Stay ahead of AI security threats! This guide covers prompt injection, AI malware, data poisoning, model theft, and more. Essential reading for developers building secure AI.
Building Secure AI Applications in the Era of Autonomous Systems
May 12, 2026.
Explore AI security in autonomous systems. Learn to mitigate risks like prompt injection, data poisoning, and insecure plugins. Secure your AI applications now!
Design Patterns and How to Use Them in .NET 9 Applications
May 05, 2026.
Master .NET 9 design patterns! Learn Singleton, Factory, Repository, DI, Strategy, Observer, and Mediator. Build scalable, maintainable .NET applications.
Understanding Key Principles of Responsive Design in PowerApps
Apr 16, 2026.
Learn PowerApps responsive design! This guide simplifies creating apps that adapt seamlessly to any device screen. Build one app for mobile, tablet, and desktop with ease.
What Is the Difference Between AddScoped AddTransient and AddSingleton in ASP.NET Core?
Apr 09, 2026.
Unlock ASP.NET Core dependency injection! Master AddTransient, AddScoped, and AddSingleton lifetimes for scalable, high-performance apps. Avoid common pitfalls!
Implementing Clean Architecture in a .NET 10 Solution Guide
Apr 09, 2026.
Master Clean Architecture in .NET 10! This guide provides a step-by-step approach with practical examples for building scalable, testable, and maintainable applications.
What Are Primary Constructors in C# 12 and Their Benefits?
Apr 08, 2026.
Discover C# 12's primary constructors! Simplify code, boost readability, and reduce boilerplate. Learn how they streamline data models and dependency injection.
How to Use Raw SQL Queries Safely in Entity Framework Core
Apr 08, 2026.
Safely use raw SQL in Entity Framework Core! Learn how to prevent SQL injection with parameterized queries, FromSqlInterpolated, and input validation for secure .NET apps.
Web Design Guide | Basics, Principles, and Best Practices for Beginners
Apr 08, 2026.
Learn web design from basics to advanced concepts. Understand UI, UX, responsive design, tools, and best practices to create modern websites.
How to Use Angular Services and Dependency Injection Effectively
Apr 06, 2026.
Master Angular services & dependency injection (DI) for scalable apps! Learn with real examples, best practices, and avoid common pitfalls. Build cleaner, testable code.
How to Write Clean Code in C# Using Naming Conventions and Best Practices?
Apr 06, 2026.
Master C# clean code: naming conventions, best practices, and SOLID principles. Write readable, maintainable, and scalable .NET applications. Improve team collaboration!
What Is SOLID Principles in Object Oriented Programming With Real Examples
Apr 03, 2026.
Master SOLID principles (SRP, OCP, LSP, ISP, DIP) in OOP with real-world C# examples. Write clean, maintainable, and scalable code for robust applications.
What Is a Software Supply Chain Attack and How to Protect Your npm Packages?
Apr 02, 2026.
Learn about software supply chain attacks targeting npm packages and how to defend against them. Protect your JavaScript projects with these key security practices.
What Is Prompt Injection in MCP Servers and How to Defend Against It?
Apr 02, 2026.
Learn about prompt injection attacks in MCP AI systems & how to defend against them. Protect your AI from data leaks & unauthorized actions. Secure your MCP server!
How to Secure Context Windows Against Prompt Injection in Apps
Mar 30, 2026.
Secure your RAG apps! Learn to defend against prompt injection in multi-tenant systems. Implement context control, data sanitization, and tenant isolation.
How to Fix Dependency Confusion Attacks in Private Feeds
Mar 30, 2026.
Protect your software supply chain! Learn how to fix dependency confusion attacks in private feeds. Secure your CI/CD pipelines and prevent malicious package installs.
Dependency Injection in C#
Mar 26, 2026.
Learn Dependency Injection (DI) in C# with a practical example! Discover how to decouple code, improve testability, and easily switch services like Email to SMS. Perfect for ASP.NET Core projects.
What is Dependency Injection in ASP.NET Core?
Mar 26, 2026.
Unlock the power of Dependency Injection (DI) in ASP.NET Core! Learn how DI promotes loose coupling, improves testability, and builds scalable applications. Master DI today!
AddTransient vs AddScoped vs AddSingleton in ASP.NET Core
Mar 26, 2026.
Master ASP.NET Core dependency injection! Learn the differences between AddTransient, AddScoped, and AddSingleton for optimal performance and maintainability. Choose the right lifetime!
How to Use Dependency Injection in .NET 8 with Examples
Mar 25, 2026.
Master Dependency Injection in .NET 8! Learn how to build clean, testable, and maintainable applications with practical examples and best practices. Improve your C# code!
How to Validate User Input to Prevent Security Vulnerabilities
Mar 24, 2026.
Secure your web apps! Learn input validation techniques to prevent SQL Injection, XSS, and other vulnerabilities. Protect user data and ensure application reliability.
How to Prevent SQL Injection in Node.js Applications?
Mar 23, 2026.
Protect your Node.js apps from SQL Injection! Learn practical techniques like parameterized queries, ORM, and input validation to secure your database and prevent data breaches.
Strategy Pattern in .NET 10
Mar 20, 2026.
Master the Strategy Pattern in .NET! Learn how to implement multiple algorithms and behaviors cleanly, avoiding messy if-else statements. Enhance code maintainability and flexibility.
What Is Prompt Injection Attack in AI and How to Prevent It?
Mar 19, 2026.
Protect your AI! Learn about prompt injection attacks, where malicious inputs hijack AI behavior, leading to data leaks. Discover prevention strategies now.
How to Prevent Prompt Injection Attacks in AI Applications?
Mar 18, 2026.
Protect AI apps from prompt injection! Learn to secure LLMs with strong prompts, input validation, output filtering, & AI guardrails. Build safer AI systems.
How to Prevent SQL Injection Attacks in Modern Web Applications
Mar 17, 2026.
Protect your web applications from SQL Injection! Learn effective techniques like prepared statements, input validation, and ORM frameworks to secure your database.
How to Prevent SQL Injection Attacks in Modern Web Applications
Mar 16, 2026.
Protect your web applications from SQL injection! Learn how to prevent these dangerous attacks with prepared statements, input validation, and secure ORM frameworks.
How Can Developers Structure Applications for Easier Testing and Maintainability?
Mar 13, 2026.
Improve software quality! Learn proven strategies for structuring applications: layered architecture, dependency injection, testing, & more. Build scalable systems!
What Patterns Help Maintain Loose Coupling in Large Codebases?
Mar 13, 2026.
Explore patterns like dependency injection, event-driven architecture, and API gateways to achieve loose coupling. Build scalable, maintainable software!
What are the best practices to protect web applications from common vulnerabilities?
Mar 09, 2026.
Protect web apps! Learn best practices to prevent SQL injection, XSS, CSRF, and more. Secure coding, authentication, & monitoring are key for robust security.
Preventing Sensitive Information Disclosure (PII) by AI Agents
Mar 06, 2026.
Secure AI agents by preventing PII disclosure! Implement layered security with input filtering, access control, and output guards for data privacy and compliance.
AI Agents Against Prompt Injection Attacks
Mar 05, 2026.
Protect AI agents from prompt injection! Learn how to secure your LLMs with input filtering, prompt isolation, tool authorization, and output validation.
Understanding SOLID Principles Using JavaScript
Mar 03, 2026.
Master SOLID principles in JavaScript! Learn how SRP, OCP, LSP, ISP, and DIP improve code maintainability, scalability, and reduce technical debt in modern JS apps.
How to Prevent SQL Injection in Modern Web Applications?
Mar 03, 2026.
Protect web apps from SQL injection! Learn practical security measures like parameterized queries, ORMs, input validation, and WAFs to safeguard sensitive data.
How To Build Scalable, Secure & Versioned APIs in ASP.NET Core Using Advanced Design Principles
Feb 26, 2026.
Learn how to design and build scalable, secure, and versioned APIs in ASP.NET Core. Apply advanced API design principles, REST best practices, HATEOAS, versioning, and problem handling for production-ready Web APIs.
How to Fix “Unable to Resolve Service for Type” Error in .NET Core?
Feb 25, 2026.
Troubleshoot the "Unable to resolve service for type" error in .NET Core! Learn to fix common DI issues like missing registrations, lifetime mismatches, and circular dependencies.
What Is Clean Architecture in .NET With Practical Example?
Feb 25, 2026.
Master Clean Architecture in .NET! Build scalable, testable, and maintainable applications with clear separation of concerns. Practical examples included.
How to Fix “Unable to Resolve Service for Type” Error in .NET Core?
Feb 24, 2026.
Troubleshoot the "Unable to resolve service for type" error in .NET Core. Learn common causes, fixes, and best practices for dependency injection in ASP.NET Core.
Why npm install Is Not Working and How to Fix It?
Feb 24, 2026.
Troubleshoot 'npm install not working' errors with this guide. Fix version mismatches, cache issues, dependency conflicts, and more for stable builds.
How to Use Dependency Injection in .NET Core With Practical Example?
Feb 23, 2026.
Master .NET Core Dependency Injection! Learn DI principles, service lifetimes (Transient, Scoped, Singleton), and implement a practical example for scalable apps.
What Is Clean Architecture in .NET With Practical Implementation Guide?
Feb 23, 2026.
Explore Clean Architecture in .NET for building maintainable, testable, and scalable applications. Learn practical implementation with a step-by-step guide.
What Is Clean Architecture in .NET With Practical Implementation Guide?
Feb 23, 2026.
Explore Clean Architecture in .NET for building maintainable, testable, and scalable applications. Learn its principles, layers, and practical implementation.
SOLID Principles in Software Design (With C# Examples)
Feb 20, 2026.
Master the SOLID principles (SRP, OCP, LSP, ISP, DIP) for robust, maintainable, and scalable software design. Learn with C# examples and boost code quality!
How to Write Clean Code That Passes Senior Code Reviews
Feb 20, 2026.
Master clean code for senior-level reviews. Learn SOLID principles, naming conventions, testing, and error handling for scalable, maintainable software.
What Are the Key Principles of Clean Architecture?
Feb 18, 2026.
Clean Architecture: Build scalable, maintainable, and testable software. Learn key principles for robust applications in .NET, Java, and cloud environments.
How to Implement Dependency Injection in .NET Core?
Feb 18, 2026.
Master Dependency Injection in .NET Core! Learn to build scalable, testable apps with built-in DI. Improve modularity and follow SOLID principles for robust code.
How to Preventing Common Security Vulnerabilities in ASP.NET Core Applications
Feb 17, 2026.
Secure your ASP.NET Core apps! Learn to prevent SQL Injection, XSS, CSRF, and more. Implement strong authentication, authorization, and keep dependencies updated.
Dependency Injection in .NET – Explained in Simple & Practical Way (With Examples)
Feb 16, 2026.
Master Dependency Injection in .NET! Learn DI principles, types (constructor, property, method), service lifetimes, testing benefits, and real-world ASP.NET Core examples.
Common Mistakes .NET Developers Make and How to Avoid Them
Feb 13, 2026.
Avoid common .NET pitfalls! Learn to write efficient, maintainable, and scalable applications by mastering async, DI, exception handling, and clean code.
Understanding the Strategy Pattern in C# with a Simple Example
Feb 13, 2026.
Master the Strategy Pattern in C#! Decouple algorithms, simplify code, and enhance maintainability. Learn with a practical example and boost your SOLID principles.
Understanding the Options Pattern in ASP.NET Core with a Practical Example
Feb 13, 2026.
Master ASP.NET Core configuration with the Options Pattern! Learn to replace magic strings with strongly-typed settings for cleaner, maintainable code. Includes practical examples!
Factory Pattern + Dependency Injection in .NET
Feb 10, 2026.
Learn how to combine the Factory Pattern with Dependency Injection in .NET to create cleaner, more maintainable, and testable code. Solve runtime implementation challenges!
Is OpenClaw Safe to Use? Security Risks, Threats, and Best Practices
Feb 06, 2026.
Explore OpenClaw's security: risks, threats, and best practices. Learn how to safely use this autonomous AI agent by understanding its potential vulnerabilities.
Fix RCE (Remote Code Execution) issue in Gen-AI
Feb 02, 2026.
Secure Gen-AI by fixing Remote Code Execution (RCE) vulnerabilities! Learn how to protect your systems with sandboxing, policy enforcement, and secure architecture.
How to Design Reliable Power BI Refresh Pipelines
Jan 28, 2026.
Design reliable Power BI refresh pipelines by separating data prep, using incremental refreshes, and making dependencies clear. Ensure predictable, stable data.
Scrutor Common Dependency Injection Pitfalls and How to Avoid Them
Jan 21, 2026.
Learn the most common Dependency Injection pitfalls when using Scrutor in .NET and ASP.NET Core. This in-depth guide explains real-world DI issues, assembly scanning mistakes, lifetime mismatches, decorator pitfalls, and best practices to build scalable and maintainable .NET applications.
Common Dependency Injection Pitfalls with Scrutor in .NET Minimal APIs
Jan 21, 2026.
Unlock the power of Scrutor with .NET Minimal APIs! Avoid common DI pitfalls like over-scanning, hidden dependencies, and lifetime mismatches. Build robust, scalable apps!
Understand SOLID Design Principles in 5 Minutes
Jan 19, 2026.
Grasp the core of SOLID design principles quickly! This guide breaks down the Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles into easily digestible concepts. Learn how to write more maintainable, scalable, and robust code in just 5 minutes. Improve your software architecture and development skills now!
How to Automate Dependency Injection in .NET Using Scrutor, Step‑by‑Step Guide
Jan 20, 2026.
Simplify .NET dependency injection with Scrutor by automating service registration using assembly scanning, convention-based patterns, and decorators, with a practical, step-by-step guide to cleaner, scalable DI.
Factory Method Pattern in C#
Jan 16, 2026.
Learn how to implement the Factory Method Pattern in C# with dependency injection for loosely coupled object creation. Improve code maintainability and extensibility.
How Can Developers Detect Breaking Changes After Upgrading Node.js to the Latest LTS?
Jan 17, 2026.
Upgrade Node.js LTS safely! Detect breaking changes early with release notes, local testing, strict warnings, automated tests, and dependency checks. Avoid production issues.
Understanding Dependency Injection in .NET with Practical Examples
Jan 16, 2026.
Master Dependency Injection (DI) in .NET! Learn the what, why, and how with practical examples. Improve testability, maintainability, and reduce coupling.
5 Most Confusing .NET Interview Questions – Explained for Beginners (With Simple Examples) (Part-1)
Jan 16, 2026.
Ace your .NET interview! Demystifying async/await, dependency injection, service lifetimes, IEnumerable vs IQueryable, and middleware with clear examples. Master these fundamentals!
What Is Dependency Injection in .NET?
Jan 15, 2026.
Unlock the power of Dependency Injection (DI) in .NET! Learn how DI promotes clean, testable, and maintainable code. Master the core concepts with practical examples.
Emerging Security Risks of Public AI APIs in Production Systems
Jan 13, 2026.
Explore the emerging security risks of public AI APIs in production: data leakage, prompt injection, API key misuse, and more. Learn to mitigate these threats.
Breaking Changes After the Latest Node.js Upgrade: Issues Developers Are Reporting
Jan 13, 2026.
Node.js upgrades can introduce breaking changes! Learn about common issues like ESM, OpenSSL, dependency conflicts, and error handling. Upgrade safely and avoid downtime.
Security Risks in Public AI APIs and Third-Party Integrations: Emerging Threats Explained
Jan 12, 2026.
Explore emerging security risks in public AI APIs & third-party integrations. Learn to mitigate data leakage, prompt injection, and cost abuse. Secure your AI!
Performance Issues After Node.js Upgrades: Common Problems Developers Are Reporting
Jan 12, 2026.
Node.js upgrades can introduce performance regressions. Learn common issues like memory leaks, event loop delays, and dependency conflicts. Upgrade safely!
Clean Architecture in ASP.NET Core: Core Concept and Guide
Jan 08, 2026.
Master Clean Architecture in ASP.NET Core! Build maintainable, testable, and scalable applications with clear separation of concerns. Practical guide included!
Sentence Transformers: Architecture, Working Principles, and Practical Examples
Jan 05, 2026.
Explore Sentence Transformers: architecture, working, and practical examples. Learn how to convert text into meaningful embeddings for semantic search and more!
3 Types of Service Lifetimes in .NET You Must Know
Jan 03, 2026.
Unlock .NET efficiency! Master Transient, Scoped, & Singleton service lifetimes for optimal memory use, thread safety, & performance. Avoid common pitfalls!
Dependency Injection Made Simple: A Practical .NET Core Guide
Jan 03, 2026.
Unlock the power of Dependency Injection (DI) in ASP.NET Core! Learn how DI promotes loose coupling, testability, and scalability for robust .NET applications.
How to Fix "ClassNotFoundException" or "NoClassDefFoundError" in Java
Jan 02, 2026.
Learn how to fix ClassNotFoundException and NoClassDefFoundError in Java with simple explanations, real examples, common causes, and practical solutions for production applications.
Dependency Injection in .NET Core Applications
Jan 01, 2026.
Master Dependency Injection in .NET Core! Learn how to build loosely coupled, testable, and maintainable applications with ASP.NET Core's built-in DI container.
Why Design Patterns Matter: A dive into The Strategy pattern with ASP .NET Core
Dec 30, 2025.
Explore the Strategy pattern in ASP.NET Core! Learn how to write flexible, maintainable code by decoupling algorithms using composition over inheritance. #designpatterns #CSharp #StrategyPattern
Securing Retrieval-Augmented Generation (RAG) Pipelines on Azure AI
Dec 25, 2025.
Secure RAG pipelines on Azure AI with layered defenses: network isolation, identity management, data access controls, and encryption. Prevent data leaks and unauthorized access.
DRY (Don’t Repeat Yourself) Principle Software Development
Dec 20, 2025.
Master the DRY (Don't Repeat Yourself) principle in C# for cleaner, maintainable code. Learn techniques to avoid repetition and boost development efficiency.
Understand the Spring Bean Lifecycle in Application Design
Dec 19, 2025.
Explore the Spring Bean lifecycle: instantiation, dependency injection, initialization, and destruction. Master bean scopes and best practices for robust applications.
Solving Approval Dependencies with Multi-Flow Design
Dec 18, 2025.
Solve approval dependencies with a multi-flow design! Streamline workflows, improve scalability, and simplify troubleshooting for efficient leave request processing.
How to Use AI Agents in an ASP.NET MVC Project (Beginner to Advanced Guide)
Dec 11, 2025.
This article explains how to integrate AI Agents (OpenAI / OpenAI Assistants / LangChain-style agents) in an ASP.NET MVC application. It covers architecture, controller/service design, dependency injection setup, API calling strategies, prompt engineering, real-use cases, performance guidelines, and security best practices.
How to Use MediatR for Clean Architecture in .NET Applications
Dec 08, 2025.
Learn how to implement MediatR in .NET applications to achieve Clean Architecture. This guide explains request/response patterns, commands, queries, handlers, dependency injection, pipelines, and best practices with simple code examples.