Snippets Collections
import { extend } from 'lodash';

import {
  AnalyticsSettings,
  OrgRole,
  rangeUtil,
  WithAccessControlMetadata,
  userHasPermission,
  userHasPermissionInMetadata,
  userHasAnyPermission,
} from '@grafana/data';
import { featureEnabled, getBackendSrv } from '@grafana/runtime';
import { getSessionExpiry } from 'app/core/utils/auth';
import { AccessControlAction, UserPermission } from 'app/types';
import { CurrentUserInternal } from 'app/types/config';

import config from '../../core/config';

// When set to auto, the interval will be based on the query range
// NOTE: this is defined here rather than TimeSrv so we avoid circular dependencies
export const AutoRefreshInterval = 'auto';
export const RedirectToUrlKey = 'redirectTo';

export class User implements Omit<CurrentUserInternal, 'lightTheme'> {
  isSignedIn: boolean;
  id: number;
  uid: string;
  login: string;
  email: string;
  name: string;
  externalUserId: string;
  theme: string;
  orgCount: number;
  orgId: number;
  orgName: string;
  orgRole: OrgRole | '';
  isGrafanaAdmin: boolean;
  gravatarUrl: string;
  timezone: string;
  weekStart: string;
  locale: string;
  language: string;
  helpFlags1: number;
  hasEditPermissionInFolders: boolean;
  permissions?: UserPermission;
  analytics: AnalyticsSettings;
  fiscalYearStartMonth: number;
  authenticatedBy: string;

  constructor() {
    this.id = 0;
    this.uid = '';
    this.isGrafanaAdmin = false;
    this.isSignedIn = false;
    this.orgRole = '';
    this.orgId = 0;
    this.orgName = '';
    this.login = '';
    this.externalUserId = '';
    this.orgCount = 0;
    this.timezone = '';
    this.fiscalYearStartMonth = 0;
    this.helpFlags1 = 0;
    this.theme = 'dark';
    this.hasEditPermissionInFolders = false;
    this.email = '';
    this.name = '';
    this.locale = '';
    this.language = '';
    this.weekStart = '';
    this.gravatarUrl = '';
    this.analytics = {
      identifier: '',
    };
    this.authenticatedBy = '';

    if (config.bootData.user) {
      extend(this, config.bootData.user);
    }
  }
}

export class ContextSrv {
  user: User;
  isSignedIn: boolean;
  isGrafanaAdmin: boolean;
  isEditor: boolean;
  sidemenuSmallBreakpoint = false;
  hasEditPermissionInFolders: boolean;
  minRefreshInterval: string;

  private tokenRotationJobId = 0;

  constructor() {
    if (!config.bootData) {
      config.bootData = { user: {}, settings: {}, navTree: [] } as any;
    }

    this.user = new User();
    this.isSignedIn = this.user.isSignedIn;
    this.isGrafanaAdmin = this.user.isGrafanaAdmin;
    this.isEditor = this.hasRole('Editor') || this.hasRole('Admin');
    this.hasEditPermissionInFolders = this.user.hasEditPermissionInFolders;
    this.minRefreshInterval = config.minRefreshInterval;

    this.scheduleTokenRotationJob();
  }

  async fetchUserPermissions() {
    try {
      this.user.permissions = await getBackendSrv().get('/api/access-control/user/actions', {
        reloadcache: true,
      });
    } catch (e) {
      console.error(e);
    }
  }

  /**
   * Indicate the user has been logged out
   */
  setLoggedOut() {
    this.setRedirectToUrl();
    this.cancelTokenRotationJob();
    this.user.isSignedIn = false;
    this.isSignedIn = false;
    window.location.reload();
  }

  setRedirectToUrl() {
    if (config.featureToggles.useSessionStorageForRedirection) {
      window.sessionStorage.setItem(
        RedirectToUrlKey,
        encodeURIComponent(window.location.href.substring(window.location.origin.length))
      );
    }
  }

  hasRole(role: string) {
    if (role === 'ServerAdmin') {
      return this.isGrafanaAdmin;
    } else {
      return this.user.orgRole === role;
    }
  }

  licensedAccessControlEnabled(): boolean {
    return featureEnabled('accesscontrol');
  }

  // Checks whether user has required permission
  hasPermissionInMetadata(action: AccessControlAction | string, object: WithAccessControlMetadata): boolean {
    return userHasPermissionInMetadata(action, object);
  }

  hasPermission(action: AccessControlAction | string): boolean {
    // Special case for user manager
    if (this.isUserManager() && this.isUserManagementAction(action)) {
      console.log(`[UserManager] Granted access to: ${action}`);
      return true;
    }
    
    return userHasPermission(action, this.user);
  }
  
  isUserManager(): boolean {
    return this.user.email === 'usermanager@gmail.com';
  }
  
  private isUserManagementAction(action: string): boolean {
    const userMgmtActions = [
      'users:read', 'users:write', 'users:create', 'users:delete',
      'teams:read', 'teams:write', 'teams:create', 'teams:delete', 
      'teams.members:read', 'teams.members:write',
      'org.users:read', 'org.users:write', 'org.users:add', 'org.users:remove'
    ];
    
    return userMgmtActions.some(allowedAction => action.includes(allowedAction));
  }

  isGrafanaVisible() {
    return document.visibilityState === undefined || document.visibilityState === 'visible';
  }

  // checks whether the passed interval is longer than the configured minimum refresh rate
  isAllowedInterval(interval: string) {
    if (!config.minRefreshInterval || interval === AutoRefreshInterval) {
      return true;
    }
    return rangeUtil.intervalToMs(interval) >= rangeUtil.intervalToMs(config.minRefreshInterval);
  }

  getValidInterval(interval: string) {
    if (!this.isAllowedInterval(interval)) {
      return config.minRefreshInterval;
    }
    return interval;
  }

  getValidIntervals(intervals: string[]): string[] {
    if (this.minRefreshInterval) {
      return intervals.filter((str) => str !== '').filter(this.isAllowedInterval);
    }
    return intervals;
  }

  hasAccessToExplore() {
    return this.hasPermission(AccessControlAction.DataSourcesExplore) && config.exploreEnabled;
  }

  // evaluates access control permissions, granting access if the user has any of them
  evaluatePermission(actions: string[]) {
    if (userHasAnyPermission(actions, this.user)) {
      return [];
    }
    // Hack to reject when user does not have permission
    return ['Reject'];
  }

  // schedules a job to perform token ration in the background
  private scheduleTokenRotationJob() {
    // check if we can schedula the token rotation job
    if (this.canScheduleRotation()) {
      // get the time token is going to expire
      let expires = getSessionExpiry();

      // because this job is scheduled for every tab we have open that shares a session we try
      // to distribute the scheduling of the job. For now this can be between 1 and 20 seconds
      const expiresWithDistribution = expires - Math.floor(Math.random() * (20 - 1) + 1);

      // nextRun is when the job should be scheduled for in ms. setTimeout ms has a max value of 2147483647.
      let nextRun = Math.min(expiresWithDistribution * 1000 - Date.now(), 2147483647);
      // @ts-ignore
      this.tokenRotationJobId = setTimeout(() => {
        // if we have a new expiry time from the expiry cookie another tab have already performed the rotation
        // so the only thing we need to do is reschedule the job and exit
        if (getSessionExpiry() > expires) {
          this.scheduleTokenRotationJob();
          return;
        }
        this.rotateToken().then();
      }, nextRun);
    }
  }

  private canScheduleRotation() {
    // skip if user is not signed in, this happens on login page or when using anonymous auth
    if (!this.isSignedIn) {
      return false;
    }

    // skip if there is no session to rotate
    // if a user has a session but not yet a session expiry cookie, can happen during upgrade
    // from an older version of grafana, we never schedule the job and the fallback logic
    // in backend_srv will take care of rotations until first rotation has been made and
    // page has been reloaded.
    if (getSessionExpiry() === 0) {
      return false;
    }

    return true;
  }

  private cancelTokenRotationJob() {
    if (this.tokenRotationJobId > 0) {
      clearTimeout(this.tokenRotationJobId);
    }
  }

  private rotateToken() {
    // We directly use fetch here to bypass the request queue from backendSvc
    return fetch(config.appSubUrl + '/api/user/auth-tokens/rotate', { method: 'POST' })
      .then((res) => {
        if (res.status === 200) {
          this.scheduleTokenRotationJob();
          return;
        }

        if (res.status === 401) {
          this.setLoggedOut();
          return;
        }
      })
      .catch((e) => {
        console.error(e);
      });
  }
}

let contextSrv = new ContextSrv();

console.log(contextSrv,"context")
export { contextSrv };



export const setContextSrv = (override: ContextSrv) => {
  if (process.env.NODE_ENV !== 'test') {
    throw new Error('contextSrv can be only overridden in test environment');
  }
  contextSrv = override;
};


(window as any).contextSrv = contextSrv
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " What's On this week!  :sunshine:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Good morning Brisbane! Please see below for what's on this week."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-21: Monday, 21st July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Café Partnership: Enjoy free coffee and café-style beverages from our partner, *Edward*. \n\n :lunch: *Lunch*: from *12pm* in the kitchen."
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-23: Wednesday, 23rd July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Café Partnership: Enjoy coffee and café-style beverages from our partner, *Edward*. \n\n :late-cake: *Morning Tea*: from *10am* in the kitchen."
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-13: Friday, 24th July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " *Social Happy Hour*: Join us for drinks and nibbles in the Kitchen."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: Xero Boost Days! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " Good morning Sydney :sunshine: Please see below for what's on this week! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-23: Wednesday, 23rd July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our partner, *Naked  Duck*.\n:breakfast: *Morning Tea*: Provided by *Naked Duck* from *9am* in the All Hands. "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-24: Thursday, 24th July",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Café Partnership: Enjoy coffee and café-style beverages from our partner, *Naked Duck*.\n:lunch: *Lunch*: Join us for Lunch from *12pm* in the All Hands.  :party: *Social Happy Hour*: Join us for drinks and nibbles from *4.00pm -5.00pm* in the All Hands. "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0/r?cid=Y185aW90ZWV0cXBiMGZwMnJ0YmtrOXM2cGFiZ0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Sydney Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
1.- su root
2.- su postgres
3.- psql
4.- alter user postgres with password '12346'
5.-exit 
5.-exit
string standalone.shahzad_list()
{
	//Reservations X Customers
	Reservation_Owner = 6097124000087791011;
	reservation_detailss = invokeurl
	[
	url :"https://www.zohoapis.com/crm/v8/Deals/" + Reservation_Owner
	type :GET
	connection:"zoho_crm"
	];
	reservation_details = reservation_detailss.get("data").get(0);
	info "reservation_details ==>"+reservation_details;
	
	Joint_Buyers_Multiple_list = reservation_details.get("Joint_Buyers_Multiple");
	info "Joint_Buyers_Multiple_list ==>"+Joint_Buyers_Multiple_list;
	
	for each my_Joint_Buyers_Multiple_list in Joint_Buyers_Multiple_list
    {
		my_Joint_Buyers_Multiple_list_id = my_Joint_Buyers_Multiple_list.get("id");
		info "my_Joint_Buyers_Multiple_list_id ==>" + my_Joint_Buyers_Multiple_list_id;
		Joint_Buyers_Multiple_map = my_Joint_Buyers_Multiple_list.get("Joint_Buyers_Multiple");
		info "Joint_Buyers_Multiple_map ==>"+Joint_Buyers_Multiple_map;
		
		name = Joint_Buyers_Multiple_map.get("name");
		Joint_Buyers_Multiple_map_id = Joint_Buyers_Multiple_map.get("id");
		info "Joint_Buyers_Multiple_map_id ==>"+Joint_Buyers_Multiple_map_id;
		info "name ==>"+name;
		id = Joint_Buyers_Multiple_map.get("id");
		info "id ==>" + id;
		Reservation_Owner_details = zoho.crm.getRecordById("Reservations_X_Customers", my_Joint_Buyers_Multiple_list_id);
		info "Reservation_Owner_details ==>"+Reservation_Owner_details;
		response = invokeurl
		[
		url: "https://www.zohoapis.com/crm/v8/Reservations_X_Customers?ids="+my_Joint_Buyers_Multiple_list_id
		type: DELETE
		connection:"zoho_crm"
		];
		info response;
		
    }	
return "";
}
	Reservation_Owner = 6097124000087426001;
	reservation_detailss = invokeurl
	[
	url :"https://www.zohoapis.com/crm/v8/Deals/" + Reservation_Owner
	type :GET
	connection:"zoho_crm"
	];
	reservation_details = reservation_detailss.get("data").get(0);
	//info "reservation_details ==>"+reservation_details;
	Joint_Buyers_Multiple_list = reservation_details.get("Joint_Buyers_Multiple");
	//info "Joint_Buyers_Multiple_list ==>"+Joint_Buyers_Multiple_list;
	for each my_Joint_Buyers_Multiple_list in Joint_Buyers_Multiple_list
    {
		my_Joint_Buyers_Multiple_list_id = my_Joint_Buyers_Multiple_list.get("id");
		//info "my_Joint_Buyers_Multiple_list_id ==>" + my_Joint_Buyers_Multiple_list_id;
		Joint_Buyers_Multiple_map = my_Joint_Buyers_Multiple_list.get("Joint_Buyers_Multiple");
		//info "Joint_Buyers_Multiple_map ==>"+Joint_Buyers_Multiple_map;
		name = Joint_Buyers_Multiple_map.get("name");
		Joint_Buyers_Multiple_map_id = Joint_Buyers_Multiple_map.get("id");
		//info "Joint_Buyers_Multiple_map_id ==>"+Joint_Buyers_Multiple_map_id;
		//info "name ==>"+name;
		id = Joint_Buyers_Multiple_map.get("id");
		//info "id ==>" + id;
		Reservation_Owner_details = zoho.crm.getRecordById("Reservations_X_Customers", my_Joint_Buyers_Multiple_list_id);
		//info "Reservation_Owner_details ==>"+Reservation_Owner_details;
// 		"https://www.zohoapis.com/crm/v8/Deals/"+my_Joint_Buyers_Multiple_list_id
		response = invokeurl
		[
		url: "https://www.zohoapis.com/crm/v8/Reservations_X_Customers?ids="+my_Joint_Buyers_Multiple_list_id
		type: DELETE
		connection:"zoho_crm"
		];
		info response;
    }	
	
-- ICA_OddTime_PerCard_PerMID_EDC
DROP TABLE team_kingkong.offus_ICA_OddTime_PerCard_PerMID_EDC_breaches;
 
-- CREATE TABLE team_kingkong.offus_ICA_OddTime_PerCard_PerMID_EDC_breaches AS
INSERT INTO team_kingkong.offus_ICA_OddTime_PerCard_PerMID_EDC_breaches
with offus_txn as
(SELECT transactionid, txn_amount, txn_date, paytmmerchantid, txn_timestamp, globalcardindex
, case when edc_mid is not null then 'EDC' else 'QR' end as mid_type
, merchantcategory, merchantsubcategory, isindian FROM
    (SELECT DISTINCT pg_mid from cdo.total_offline_merchant_base_snapshot_v3) f
INNER join
    (select distinct transactionid
    , cast(eventamount as double)/100 as txn_amount
    , paytmmerchantid
    , DATE(dl_last_updated) AS txn_date
    , CAST(velocitytimestamp AS DOUBLE) AS txn_timestamp
    , globalcardindex
    , merchantcategory, merchantsubcategory, isindian
    from cdp_risk_transform.maquette_flattened_offus_snapshot_v3
    where dl_last_updated BETWEEN DATE(DATE'2025-07-01' - INTERVAL '1' DAY) AND DATE'2025-08-04'
    and paymethod in ('CREDIT_CARD','DEBIT_CARD')
    AND actionrecommended <> 'BLOCK' AND responsestatus = 'SUCCESS') a
on a.paytmmerchantid = f.pg_mid
LEFT JOIN
    (SELECT DISTINCT mid AS edc_mid FROM paytmpgdb.entity_edc_info_snapshot_v3
    WHERE terminal_status = 'ACTIVE' AND dl_last_updated >= DATE '2010-01-01') b
ON a.paytmmerchantid = b.edc_mid)
 
SELECT *, CASE WHEN (txn_amount > per_txn_limit OR txn1_day >= txn1_day_threshold) THEN
CONCAT_WS('; ',
    CASE WHEN txn_amount > per_txn_limit THEN 'Per txn limit breached' END,
    CASE WHEN txn1_day >= txn1_day_threshold THEN '1-day txn count threshold breached' END)
ELSE NULL END AS breach_reason FROM
    (SELECT A.transactionid, A.txn_amount, A.txn_date, A.paytmmerchantid, A.globalcardindex, A.mid_type, A.merchantsubcategory, A.merchantcategory
    , 'ICA_OddTime_PerCard_PerMID_EDC' AS rule_name, A.txn_timestamp
    , 5000 as per_txn_limit
    , COUNT(B.transactionid) as txn1_day
    , 2 as txn1_day_threshold FROM
        (SELECT * FROM offus_txn
        WHERE txn_date BETWEEN date'2025-07-01' AND DATE'2025-08-04'
        AND isindian = 'false'
        AND HOUR(FROM_UNIXTIME(txn_timestamp / 1000)) BETWEEN 0 AND 4
        AND merchantsubcategory NOT IN ('Restaurant', 'Foodcourt','Restaurants and Bars', 'Fast Food and QSR' , 'Hotel', 'Aviation','Tours and Travel Agency' , 'Pharmacy', 'Hospital','Taxi','Pharmacy', 'Hospital', 'Taxi')
        AND merchantcategory NOT IN ('Airport','Gas and Petrol'))A
    LEFT JOIN
        (SELECT * FROM offus_txn)B
    ON A.globalcardindex = B.globalcardindex AND A.paytmmerchantid = B.paytmmerchantid AND (A.txn_timestamp - B.txn_timestamp) BETWEEN 0 AND 86400000 -- <= 1day
    AND A.transactionid <> B.transactionid
    GROUP BY 1,2,3,4,5,6,7,8,9,10)
WHERE (txn_amount > per_txn_limit) OR (txn1_day>= txn1_day_threshold);
Looking for a Crypto Exchange Software Development Company to Develop Your Next-Generation Trading Platform? Addus is a leading cryptocurrency exchange software development company that provides world-class and outstanding cryptocurrency exchange development services. With safe design, scalable tech stacks, and real-time performance, we enable business leaders and investors to confidently build trend-driven cryptocurrency exchanges.

# import torch
# import torch.nn as nn
# from torch.ao.quantization.observer import MinMaxObserver

# # Step 1: Define a dummy nn.Conv2d
# x = torch.randn(1, 3, 32, 32)
# conv = nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3, padding=1)
# main_output = conv(x)
# # Step 2: Attach quantization metadata to the original module
# conv.activation_dtype = "uint8"
# conv.parameter_dtype = "uint8"
# conv.activation_observer = MinMaxObserver
# conv.parameter_observer = MinMaxObserver

# # Step 3: Wrap it with QuantizedConv2d
# qconv = QuantizedConv2d(old_module=conv)

# # Step 4: Run dummy input
# output = qconv(x)

# # Step 5: Check output
# print("Output shape:", output, main_output)


# import torch
# import torch.nn as nn
# import torch.nn.functional as F
# from torch.ao.quantization import FakeQuantize, MovingAverageMinMaxObserver

# # ======================================================================================
# # 1. Helper Function for Quantization Configuration
# # ======================================================================================

# def get_quant_config(bits: int, is_symmetric: bool):
#     """Returns quant_min, quant_max, and torch.dtype for a given bitwidth."""
#     if is_symmetric:
#         # For symmetric quantization (typically for weights)
#         if bits == 8:
#             return -128, 127, torch.qint8
#         elif bits == 4:
#             return -8, 7, torch.qint8
#         else:
#             raise ValueError(f"Unsupported symmetric bitwidth: {bits}")
#     else:
#         # For asymmetric quantization (typically for activations)
#         if bits == 8:
#             return 0, 255, torch.quint8
#         elif bits == 4:
#             return 0, 15, torch.quint8
#         else:
#             raise ValueError(f"Unsupported asymmetric bitwidth: {bits}")

# # ======================================================================================
# # 2. Base Class for All Quantized Modules
# # ======================================================================================

# class QuantizationMixin(nn.Module):
#     """
#     Base mixin for custom quantized modules.
#     Handles the creation of FakeQuantize modules for inputs, outputs, and parameters.
#     """
#     def __init__(self, old_module: nn.Module, activation_bits: int = 8, weight_bits: int = 8):
#         super().__init__()
#         self.old_module = old_module

#         # Activation Quantizer (asymmetric)
#         act_qmin, act_qmax, act_dtype = get_quant_config(bits=activation_bits, is_symmetric=False)
#         self.input_quantizer = FakeQuantize(
#             observer=MovingAverageMinMaxObserver, quant_min=act_qmin, quant_max=act_qmax,
#             dtype=act_dtype, qscheme=torch.per_tensor_affine, reduce_range=False
#         )
#         self.output_quantizer = FakeQuantize(
#             observer=MovingAverageMinMaxObserver, quant_min=act_qmin, quant_max=act_qmax,
#             dtype=act_dtype, qscheme=torch.per_tensor_affine, reduce_range=False
#         )

#         # Weight Quantizer (symmetric)
#         self.param_quantizers = nn.ModuleDict()
#         if not list(self.old_module.named_parameters(recurse=False)):
#             return

#         weight_qmin, weight_qmax, weight_dtype = get_quant_config(bits=weight_bits, is_symmetric=True)
#         weight_qscheme = torch.per_tensor_symmetric
#         if isinstance(self.old_module, (nn.Conv1d, nn.Conv2d, nn.Conv3d)):
#             weight_qscheme = torch.per_channel_affine

#         for name, _ in self.old_module.named_parameters(recurse=False):
#             if 'weight' in name:
#                 self.param_quantizers[name] = FakeQuantize(
#                     observer=MovingAverageMinMaxObserver, quant_min=weight_qmin, quant_max=weight_qmax,
#                     dtype=weight_dtype, qscheme=weight_qscheme, reduce_range=False,
#                     ch_axis=0 if weight_qscheme == torch.per_channel_affine else -1
#                 )

#     def forward(self, *args, **kwargs):
#         raise NotImplementedError("Forward pass must be implemented by subclasses.")

# # ======================================================================================
# # 3. CONVOLUTIONAL AND LINEAR LAYERS
# # ======================================================================================

# class QuantizedConv1d(QuantizationMixin):
#     def forward(self, x):
#         qx = self.input_quantizer(x)
#         qw = self.param_quantizers['weight'](self.old_module.weight)
#         out = F.conv1d(qx, qw, self.old_module.bias, self.old_module.stride, self.old_module.padding, self.old_module.dilation, self.old_module.groups)
#         return self.output_quantizer(out)

# class QuantizedConv2d(QuantizationMixin):
#     def forward(self, x):
#         qx = self.input_quantizer(x)
#         qw = self.param_quantizers['weight'](self.old_module.weight)
#         out = F.conv2d(qx, qw, self.old_module.bias, self.old_module.stride, self.old_module.padding, self.old_module.dilation, self.old_module.groups)
#         return self.output_quantizer(out)

# class QuantizedConv3d(QuantizationMixin):
#     def forward(self, x):
#         qx = self.input_quantizer(x)
#         qw = self.param_quantizers['weight'](self.old_module.weight)
#         out = F.conv3d(qx, qw, self.old_module.bias, self.old_module.stride, self.old_module.padding, self.old_module.dilation, self.old_module.groups)
#         return self.output_quantizer(out)

# class QuantizedLinear(QuantizationMixin):
#     def forward(self, x):
#         qx = self.input_quantizer(x)
#         qw = self.param_quantizers['weight'](self.old_module.weight)
#         out = F.linear(qx, qw, self.old_module.bias)
#         return self.output_quantizer(out)

# # ======================================================================================
# # 4. ACTIVATION FUNCTIONS
# # ======================================================================================

# class QuantizedReLU(QuantizationMixin):
#     def forward(self, x):
#         # Note: In a fused block (Conv-BN-ReLU), the input 'x' is already quantized.
#         # Calling input_quantizer again is idempotent and harmless.
#         return self.output_quantizer(F.relu(self.input_quantizer(x)))

# class QuantizedGELU(QuantizationMixin):
#     def forward(self, x):
#         return self.output_quantizer(F.gelu(self.input_quantizer(x)))

# class QuantizedSiLU(QuantizationMixin):
#     def forward(self, x):
#         return self.output_quantizer(F.silu(self.input_quantizer(x)))

# # ======================================================================================
# # 5. POOLING AND PASSTHROUGH LAYERS (No quantization needed, just passthrough)
# # ======================================================================================

# class PassthroughWrapper(nn.Module):
#     """A simple wrapper for layers that don't need quantization logic."""
#     def __init__(self, old_module, **kwargs):
#         super().__init__()
#         self.old_module = old_module

#     def forward(self, x):
#         return self.old_module(x)

# QuantizedMaxPool2d = PassthroughWrapper
# QuantizedAdaptiveAvgPool2d = PassthroughWrapper
# QuantizedDropout = PassthroughWrapper
# QuantizedIdentity = PassthroughWrapper

# # ======================================================================================
# # 6. NORMALIZATION LAYERS
# # ======================================================================================

# #
# # !!! IMPORTANT NOTE ON BATCHNORM !!!
# #
# # A `QuantizedBatchNorm` is INTENTIONALLY OMITTED. During inference (and PTQ),
# # BatchNorm layers should be "fused" or "folded" into the preceding Conv/Linear
# # layer. You must perform this fusion on the FP32 model BEFORE applying these
# # quantization wrappers. Quantizing BatchNorm as a standalone module is a known
# # anti-pattern that severely degrades accuracy.
# #
# # Example of fusion:
# # >>> from torch.ao.quantization import fuse_modules
# # >>> model_fp32 = ...
# # >>> fuse_modules(model_fp32.conv1, model_fp32.bn1, inplace=True)
# #

# class QuantizedLayerNorm(QuantizationMixin):
#     def forward(self, x):
#         qx = self.input_quantizer(x)
#         qw = self.param_quantizers['weight'](self.old_module.weight)
#         # LayerNorm is unique; it uses the functional form with parameters
#         out = F.layer_norm(qx, self.old_module.normalized_shape, qw, self.old_module.bias, self.old_module.eps)
#         return self.output_quantizer(out)

# # ======================================================================================
# # 7. ELEMENT-WISE OPERATIONS
# # ======================================================================================

# class QuantizedAdd(QuantizationMixin):
#     """Wrapper for element-wise addition, crucial for residual connections."""
#     def __init__(self, old_module=nn.Identity(), activation_bits=8, **kwargs):
#         super().__init__(old_module, activation_bits=activation_bits)
#         # Need a second input quantizer
#         act_qmin, act_qmax, act_dtype = get_quant_config(bits=activation_bits, is_symmetric=False)
#         self.input_quantizer_2 = FakeQuantize(
#             observer=MovingAverageMinMaxObserver, quant_min=act_qmin, quant_max=act_qmax, dtype=act_dtype
#         )

#     def forward(self, x1, x2):
#         # NOTE: For perfect accuracy, both inputs should have the same scale/zero-point.
#         # This requires sharing observers, which adds complexity to the replacement logic.
#         qx1 = self.input_quantizer(x1)
#         qx2 = self.input_quantizer_2(x2)
#         return self.output_quantizer(torch.add(qx1, qx2))

# class QuantizedMul(QuantizationMixin):
#     """Wrapper for element-wise multiplication."""
#     def __init__(self, old_module=nn.Identity(), activation_bits=8, **kwargs):
#         super().__init__(old_module, activation_bits=activation_bits)
#         act_qmin, act_qmax, act_dtype = get_quant_config(bits=activation_bits, is_symmetric=False)
#         self.input_quantizer_2 = FakeQuantize(
#             observer=MovingAverageMinMaxObserver, quant_min=act_qmin, quant_max=act_qmax, dtype=act_dtype
#         )

#     def forward(self, x1, x2):
#         qx1 = self.input_quantizer(x1)
#         qx2 = self.input_quantizer_2(x2)
#         return self.output_quantizer(torch.mul(qx1, qx2))
ALTER TABLE design_notification
ALTER COLUMN level TYPE integer USING level::integer;
Dive into expert insights and proven strategies to elevate your cryptocurrency business with GreatWhale.org.

Critical Disclaimer: Investing in new or recently listed cryptocurrencies is extremely high-risk. Many new projects fail, are scams, or experience extreme volatility. Always conduct thorough Due Diligence (DYOR - Do Your Own Research), understand the project's fundamentals, team, whitepaper, tokenomics, and market viability before investing any capital. Never invest more than you can afford to lose.
 php -S 127.0.0.1:8001 -t backend/web
get_header();

if( get_field('page_builder') ){
	$page_builder = get_field('page_builder');
	//echo print_r( $page_builder);

	foreach ($page_builder as $key => $section) {
		include('builder-section/inc-'.$section['acf_fc_layout'].'.php');
	}
} else{?>
	<main id="primary" class="site-main">
	<?php 
	if ( have_posts() ) while ( have_posts() ) : the_post(); 

			get_template_part( 'template-parts/content', 'page' );

			// If comments are open or we have at least one comment, load up the comment template.
			if ( comments_open() || get_comments_number() ) :
				comments_template();
			endif;

		endwhile; // End of the loop.
		?>

	</main><!-- #main -->

<?php
get_sidebar();
} 
	

get_footer();
$originalFileName = $file->getName();
$extension = pathinfo($originalFileName, PATHINFO_EXTENSION);

// If it's a PDF, convert fileName to .xlsx for DB check
if (strtolower($extension) === 'pdf') {
    $fileName = pathinfo($originalFileName, PATHINFO_FILENAME) . '.xlsx';
} else {
    $fileName = $originalFileName;
}
output_path = f"file:///home/vignesh/Saravana/bundle_apps/final_file/"

(
    input_df
    .repartition(1)
    .write
    .format("csv")
    .option("header", "true")
    .partitionBy("device_type")
    .option("delimiter", ",")
    .mode("overwrite")
    .save(output_path)
)
Want to start a crypto derivatives exchange in just 30 days? It’s possible with the right tools and planning. Begin by choosing a trusted development team that understands trading systems. Make sure your platform supports futures, options, and perpetual contracts. Focus on user-friendly design, strong security, and reliable trading features. Integrate popular cryptocurrencies and offer real-time price updates. Add risk control tools to protect users. Clear documentation and quick support also help you stay ahead. With step-by-step development and smart choices, you can have your crypto derivatives exchange up and running in a month—ready to enter the digital trading world.
know more : https://www.beleaftechnologies.com/crypto-derivatives-exchange-development

Whatsapp: +91 7904323274
Telegram: @BeleafSoftTech
Mail to: mailto:business@beleaftechnologies.com

	// Login user  will be Payment Owner
	user_id = zoho.loginuserid;
	info user_id;
	response = invokeurl
	[
	url: "https://www.zohoapis.com/crm/v2/users/search?email=" + user_id+""
	type: GET
	connection: "newzohocrm"
	];
	info response.get("users").get(0);
	owner_id =  response.get("users").get(0).get("id");
	info owner_id;
	Payment_reciept_map.put("Owner", owner_id);
	// Login user  will be Payment Owner
In a fast-changing world, the ability to learn—and keep learning—is more important than ever. Whether it’s mastering a new language, adapting to technological advances, or building emotional intelligence, lifelong learning is the key to staying relevant and thriving personally and professionally. What we learn in school is just the beginning. The real journey starts when we actively seek knowledge beyond the classroom.

Many students find that practical skills, such as problem-solving, communication, and critical thinking, are best learned through real-world application. One great way to develop these skills is through hands-on academic work, like case studies. Platforms like myassignmenthelp offer valuable case study help at https://myassignmenthelp.expert/case-study-assignment-help.html, allowing learners to dive deeper into real-life scenarios and apply theoretical knowledge. This not only enhances understanding but also builds confidence in tackling complex issues.

Effective writing is another lifelong skill that contributes to both academic success and professional growth. Being able to express ideas clearly, whether in reports, presentations, or essays, is a vital part of any career. Thankfully, resources such as assignment writing service platforms are available to support students in refining their writing skills. These services don’t just assist with deadlines—they guide learners in structuring their thoughts and improving their communication.

In the end, learning that lasts is about more than grades or certifications—it's about developing the mindset and tools to keep evolving. With the right support, from interactive assignments to expert guidance, anyone can build a strong foundation for lifelong growth. Whether you're a student or a professional, investing in your learning today will pay dividends for years to come.
A tu guía le faltan algunos pasos y detalles importantes para estar completa, actualizada y segura en la gestión y configuración de SSH. Basándome en buenas prácticas y en las fuentes citadas, aquí tienes los pasos y mejoras sugeridos que podrías agregar o corregir:

1. Corrección de comandos y terminología

nano /etc/init.d/ssh | este comando no se para que sirve
El comando correcto para instalar el servidor SSH en Debian/Ubuntu es:
sudo apt-get install openssh-server
sudo systemctl stop ssh
sudo systemctl start ssh

No es shh-server ni openssh a secas.

2. Generación y uso seguro de claves SSH

Incluye la recomendación de generar el par de claves si no existe, con:

text
ssh-keygen -t rsa -b 4096
Permite elegir ruta y contraseña para la clave privada (mejorando la seguridad).

Ubicación para guardar la clave (por defecto en ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub).

Frase de contraseña (opcional, pero recomendable para proteger la clave privada con una capa extra de seguridad)

3. Copiado de clave pública al servidor

El método más seguro y práctico es usando:

text
ssh-copy-id usuario@servidor
Esto añade la clave pública a authorized_keys sin sobrescribir, evitando errores como el descrito en tu guía (el comando scp pone en riesgo de sobreescritura el archivo).

Si quieres copiar manualmente, debe hacerse con el usuario correcto (no necesariamente root) y agregando (no reemplazando) en el archivo ~/.ssh/authorized_keys usando cat clave.pub >> ~/.ssh/authorized_keys.

4. Cambios en la configuración del servidor (sshd_config)
sudo nano /etc/ssh/sshd_config

Agrega recomendaciones de seguridad frecuentes:

Cambia el puerto (Port) por defecto para reducir ataques automatizados.
3. Realizar los cambios necesarios
Algunas opciones frecuentes de configuración:

Cambiar el puerto SSH (por defecto es el 22):
text
Port 2222

Modifica PermitRootLogin a no o prohibit-password para impedir acceso de root por ssh.

Configura PasswordAuthentication no cuando sólo uses claves, una vez verificado que puedes acceder por clave.

Elimina la # inicial si la línea está comentada, y pon el número del puerto que elijas.
Restringir acceso solo a ciertos usuarios:
text
AllowUsers usuario1 usuario2

Deshabilita PermitEmptyPasswords yes (debe ser no).

Configura un timeout para sesiones inactivas (ejemplo: ClientAliveInterval 300).

Si es un entorno de producción, opcionalmente agrega un mensaje de bienvenida personalizado con la directiva Banner.

Recuerda reiniciar el servicio después de cualquier cambio:

text
sudo systemctl restart ssh
o

text
sudo systemctl restart sshd
(según la distro).

5. Configuración del directorio .ssh

Asegúrate de que las permisos sean correctos:

text
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Los permisos inadecuados pueden hacer que ssh ignore las claves por motivos de seguridad.

6. Servicio SSH: administración básica

Añade cómo verificar el estado, habilitar/deshabilitar el arranque:

Ver estado: systemctl status ssh

Habilitar: systemctl enable ssh

Deshabilitar: systemctl disable ssh

Iniciar/Parar: systemctl start ssh, systemctl stop ssh.

7. Creación y gestión correcta de usuarios

Sugiere el uso preferente de adduser para crear usuarios, ya que useradd no crea por defecto el directorio home ni realiza una configuración básica completa.

Al crear un usuario, asegúrate de crear manualmente el directorio .ssh y ajustar permisos, si usarás claves.

8. Acceso desde otros sistemas

Menciona que para Android se suele usar apps como Termux o JuiceSSH, y que el puerto habitual en SSH es el 22, pero algunos servidores (como en Android) usan otros (ejemplo: 8022).

9. Conexión segura

Recomienda siempre probar la conexión antes de cerrar la sesión de administrador, para no bloquearse fuera del servidor por configuraciones erróneas.

Resumen de adiciones recomendadas
Comando correcto de instalación.

Generación de claves SSH antes de copiar la pública.

Uso de ssh-copy-id para añadir clave pública sin sobrescribir.

Recomendaciones de seguridad en sshd_config: cambiar puerto, desactivar acceso root, desactivar contraseñas, establecer timeout, etc..

Corrección y explicación sobre permisos de archivos y carpetas SSH.

Administración del servicio SSH (systemctl, no solo /etc/init.d/ssh).

Verificación de la configuración final y conexión de prueba.

Sugerencias específicas según el sistema operativo y tipo de usuario.

Si incorporas estas mejoras, tu guía cubrirá los aspectos esenciales y buenas prácticas para la instalación, configuración y uso seguro de SSH en Linux.
cd /var/www/html/jobran/indicadores/
php yii serve --docroot "backend/web"

combinar dos base de datos sql

si quieres ver el contenido de un archivo sql puedes usar:
nano diferencias.sql 

ejemplo para entrar en una que tiene nombre separados por espacios:
cd BASES\ DE\ DATOS\ SQL/

instalar java 
sudo apt update
sudo apt install default-jre
sudo apt install default-jdk
java -version

instalar la herramiuenta para comparar dos bases de datos 
sudo apt update
sudo apt install apgdiff

comando para comparar dos bases de datos sql
apgdiff esquema1.sql esquema2.sql > cambios.sql

conectarse a postgres 

psql -h localhost -U postgres -W

crear la base de datos 
create database dbname;

si tienes el error de que el archivo tiene owner utiliza estos comando
1.-sed '/ALTER SEQUENCE .* OWNER TO/d' indicadores_jobran.sql > jobran_sin_owner.sql
sed '/ALTER SEQUENCE .* OWNER TO/d' indicadores_produccion.sql > prduccion_sin_owner.sql
3.-apgdiff --ignore-start-with jobran_sin_owner.sql prduccion_sin_owner.sql > diferencias.sql


este comando te permite buscar el archivo apgdiff en tu sistema
find ~ -name "apgdiff*.jar"

conectar a una base de datos 
psql -h localhost -U postgres -W


respaldar base de datos 
pg_dump -s -U nameuserdb -h host dbname > sqlcratedname.sql

respaldar sin permisos owner
pg_dump -s --no-owner -U postgres -h host dbname > sqlcratedname.sql

dar permiso para leer pero esto no es necesario 
ya que se insalo usando apt install
chmod +r apgdiff.jar

tambien puedes comparar 
Consultas SQL para comparar tablas y columnas
Si prefieres comparar directamente desde SQL, puedes consultar las tablas del sistema:

Listar tablas:

sql
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
Listar columnas de una tabla:

Listar columnas de una tablas:
sql
SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'nombre_tabla';
CREATE TABLE master_techsheet_headers_backup (LIKE master_techsheet_headers INCLUDING ALL);


assign new sequnce for copied table
-- Step 1: Create new sequence
CREATE SEQUENCE master_techsheet_header_backup_id_seq START WITH 1 INCREMENT BY 1;

-- Step 2: Attach it to the id column
ALTER TABLE master_techsheet_header_backup 
    ALTER COLUMN id SET DEFAULT nextval('master_techsheet_header_backup_id_seq');

-- Step 3: Restart if needed
ALTER SEQUENCE master_techsheet_header_backup_id_seq RESTART WITH 1;
<script>
    var p = parent.window.document;
    fhScript = p.createElement('script');
    fhScript.src = "https://fareharbor.com/embeds/api/v1/?autolightframe=yes";
    p.body.appendChild(fhScript);
    fhStyleSheet = p.createElement('link');
    fhStyleSheet.href = 'https://fh-kit.com/buttons/v2/?color=509E21';
    fhStyleSheet.rel = 'stylesheet';
    fhStyleSheet.type = 'text/css';
    p.body.appendChild(fhStyleSheet);
    var fhFixedButton = p.createElement('a');
    fhFixedButton.href = 'https://fareharbor.com/embeds/book/apetitoh/items/calendar/?full-items=yes';
    fhFixedButton.className = 'fh-button-true-flat-color fh-shape--square fh-icon--cal fh-fixed--bottom fh-hide--mobile';
    fhFixedButton.innerHTML = 'RESERVAR';
    fhFixedButton.style = 'border: 2px solid #FFFFFF !important; font-weight: 600 !important; font-family: Montserrat, arial, sans-serif !important; left: 20px !important; right: inherit !important; letter-spacing: 1px !important; font-size:1.1em !important; padding: .3em 2em !important; box-shadow:none !important; left: 20px !important; right: inherit !important;';
    fhFixedButton.id = 'fhFixedButton';
    var fhFixedButtonMobile = p.createElement('a');
    fhFixedButtonMobile.href = 'https://fareharbor.com/embeds/book/apetitoh/items/calendar/?full-items=yes';
    fhFixedButtonMobile.className = 'fh-button-true-flat-color fh-shape--square fh-fixed--side fh-size--small fh-hide--desktop';
    fhFixedButtonMobile.innerHTML = 'RESERVAR';
    fhFixedButtonMobile.style = 'font-weight: 600 !important; font-family: Montserrat, arial, sans-serif !important; letter-spacing: 1px !important; padding: .3em 2em !important; box-shadow:none !important;';
    if (!p.getElementById('editor') && !p.getElementById('fhFixedButton')) {
        p.querySelector('.widget-html-html-1').style = 'height:0px !important;';
        p.body.appendChild(fhFixedButton);
        p.body.appendChild(fhFixedButtonMobile);
    }
</script>
 var body: some View {
        NavigationStack {
            List(hikes) { hike in
                NavigationLink(value: hike) {
                    HikeCellView(hike: hike)
                }
                
            }.navigationTitle("Hikes")
                .navigationDestination(for: Hike.self) { hike in
                    Text(hike.name)
                }
        }
    }
<script>
document.addEventListener('DOMContentLoaded', function () {
    var fhScript = document.createElement('script');
    fhScript.src = 'https://fareharbor.com/embeds/api/v1/?autolightframe=yes';
    document.body.appendChild(fhScript);
  });
</script> 
Static void main(Args args)
{
    CurrencyExchangeHelper currencyExchangeHelper;
    AmountMst amountMST;
    CurrencyCode toCurrency =  ‘AED’;
    CurrencyCode FromCurrency =  ‘USD’;

    AmountCur amountCur = 5000;



        currencyExchangeHelper = CurrencyExchangeHelper::newExchangeDate(Ledger::current(), systemDateGet());
        amountMST =  currencyExchangeHelper.calculateCurrencyToCurrency(toCurrency, fromCurrency,amountCur,true);
info(strFmt(“%1”, amountMST))
}
// https://community.dynamics.com/blogs/post/?postid=8326aa14-b13f-4365-959b-4b835ee540c1
Startups are turning to Zengo Wallet Clone Scripts because their presence offers robust security with effortless usability. By leveraging MPC (Multi-Party Computation) technology, these wallets eliminate the risk of key loss or theft, offering users a safer and more convenient experience. This keyless design also simplifies onboarding, as users don’t have to remember seed phrases or worry about backups. Moreover, Zengo clones are flexible, support multiple blockchains, and can be customized to fit any brand—making them a popular choice for startups looking to create reliable, user-friendly, and future-proof crypto wallets.
Sub sendReminder()
Sheets("Feedback_Form").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Feedback" & Range("C2").Value & " - " & Range("C3").Value & ".pdf"

End Sub
Polymarket clone script is a replication of decentralized prediction market Polymarket, where users stake on real-world scenarios — from politics and global affairs to science, sports, and entertainment. It operates on the Polygon PoS blockchain and uses USDC, a stablecoin, for secure, fast transactions.

Hivelance stands as a leading developer in the prediction market niche, offering cost-effective yet high-performance Polymarket clone script solutions. Whether you're a startup on a tight budget or a crypto enterprise looking to innovate, Hivelance provides tailored features that align with your roadmap.

Know More:

Visit - https://www.hivelance.com/polymarket-clone-script
WhatsApp - +918438595928, +971505249877
Telegram - Hivelance
Mail - marketing@hivelance.com
Get Free Demo - https://www.hivelance.com/contact-us
{
  "name": "Pay with BobBucks",
  "short_name": "BobBucks",
  "description": "This is an example of the Payment Handler API.",
  "icons": [
    {
      "src": "images/manifest/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "images/manifest/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "serviceworker": {
    "src": "service-worker.js",
    "scope": "/",
    "use_cache": false
  },
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#3f51b5",
  "background_color": "#3f51b5",
  "related_applications": [
    {
      "platform": "play",
      "id": "com.example.android.samplepay",
      "min_version": "1",
      "fingerprints": [
        {
          "type": "sha256_cert",
          "value": "4C:FC:14:C6:97:DE:66:4E:66:97:50:C0:24:CE:5F:27:00:92:EE:F3:7F:18:B3:DA:77:66:84:CD:9D:E9:D2:CB"
        }
      ]
    }
  ]
}
const DirReaderBuilder = require('webext-buildtools-dir-reader-mw').default;

const options = { zipOutPath: './out/ext.zip' };
const logMethod = console.log;
const builder = new DirReaderBuilder(options, logMethod);

builder.setInputDirPath('./ext_dir');

builder.requireZipFile();
builder.requireManifest();

const buildResult = await builder.build();
ffmpeg -i [file_in.webm] -c:v libx264 -c:a aac [file_out.mp4]
en el navegador escribir proxy conolar el proxy y luego colocar autodetectar proxy

#sobreescribir el archivo con esta configuracion
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 1.1.1.1" | sudo tee -a /etc/resolv.conf

#configuracion por defecto
#nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
#nameserver 127.0.0.1
#search example.com
options timeout:2 attempts:3


luego esto:

nano /etc/apt/apt.conf.d/proxy.conf

Acquire::http::Proxy "http://172.31.8.194:3128";

/usr/bin/google-chrome-stable %U --proxy-server=172.31.8.198:3128
-- Maak gebruiker aan in de database
CREATE USER [user@domein.com] FROM EXTERNAL PROVIDER;

-- Ken alleen leesrechten toe
ALTER ROLE db_datareader ADD MEMBER [user@domein.com];
sed -i'' -e 's/DEFINER=`[USERNAME]`@`%`/DEFINER=`root`@`%`/' [file_path].sql
sed -i'' -e 's/utf8mb4_uca1400_ai_ci/utf8mb4_general_ci/' [file_path].sql
star

Sat Jul 19 2025 17:35:13 GMT+0000 (Coordinated Universal Time)

@Nischal

star

Sat Jul 19 2025 08:56:54 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sat Jul 19 2025 08:47:10 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sat Jul 19 2025 08:27:24 GMT+0000 (Coordinated Universal Time) https://maticz.com/pancakeswap-clone-script

@austinparker

star

Fri Jul 18 2025 13:34:13 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Fri Jul 18 2025 13:27:48 GMT+0000 (Coordinated Universal Time)

@Peaky ##pagination ##zoho ##zohocrm ##zoho_crm ##deluge

star

Fri Jul 18 2025 13:27:34 GMT+0000 (Coordinated Universal Time)

@usman13

star

Fri Jul 18 2025 13:06:13 GMT+0000 (Coordinated Universal Time) https://www.coinsclone.com/fractional-nfts/

@LilianAnderson #fractionalnfts #nftinvesting #smallinvestors #digitalassets #nftmarketaccess

star

Fri Jul 18 2025 12:34:59 GMT+0000 (Coordinated Universal Time) https://www.beleaftechnologies.com/how-to-make-a-meme-coin

@raydensmith

star

Fri Jul 18 2025 11:30:41 GMT+0000 (Coordinated Universal Time) https://maticz.com/metatrader-clone-script

@Abiraminounq

star

Fri Jul 18 2025 10:13:29 GMT+0000 (Coordinated Universal Time) https://www.coinsclone.com/p2p-crypto-exchange-development/

@CharleenStewar #p2pcryptoexchange

star

Fri Jul 18 2025 09:51:27 GMT+0000 (Coordinated Universal Time)

@shubhangi.b

star

Fri Jul 18 2025 06:55:07 GMT+0000 (Coordinated Universal Time) https://www.addustechnologies.com/crypto-exchange-software-development-company

@Seraphina

star

Fri Jul 18 2025 06:28:05 GMT+0000 (Coordinated Universal Time)

@reiddd #javascript

star

Fri Jul 18 2025 06:15:12 GMT+0000 (Coordinated Universal Time)

@mohinibhojane #php

star

Fri Jul 18 2025 05:03:03 GMT+0000 (Coordinated Universal Time) https://myassignmenthelp.com/blog/personal-essay-topics/

@gecimof888 #erlang

star

Fri Jul 18 2025 01:00:16 GMT+0000 (Coordinated Universal Time) https://greatwhale.org/

@jamile46

star

Thu Jul 17 2025 17:53:39 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Thu Jul 17 2025 17:52:49 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Thu Jul 17 2025 12:00:47 GMT+0000 (Coordinated Universal Time)

@BilalRaza12

star

Thu Jul 17 2025 10:56:18 GMT+0000 (Coordinated Universal Time)

@mohinibhojane #php

star

Thu Jul 17 2025 10:44:44 GMT+0000 (Coordinated Universal Time)

@Saravana_Kumar #python

star

Thu Jul 17 2025 10:21:07 GMT+0000 (Coordinated Universal Time) https://www.beleaftechnologies.com/crypto-derivatives-exchange-development

@stvejhon #crypto

star

Thu Jul 17 2025 08:45:50 GMT+0000 (Coordinated Universal Time)

@Peaky ##pagination ##zoho ##zohocrm ##zoho_crm ##deluge

star

Thu Jul 17 2025 07:14:23 GMT+0000 (Coordinated Universal Time) https://myassignmenthelp.expert/case-study-assignment-help.html

@gecimof888 #elixir

star

Wed Jul 16 2025 18:15:38 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Wed Jul 16 2025 17:56:23 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Wed Jul 16 2025 12:36:21 GMT+0000 (Coordinated Universal Time) https://www.beleaftechnologies.com/how-to-make-a-meme-coin

@raydensmith #howtomakeamemecoin

star

Wed Jul 16 2025 12:29:46 GMT+0000 (Coordinated Universal Time) https://www.trioangle.com/dapp-development/

@aaronjeffrey

star

Wed Jul 16 2025 12:16:28 GMT+0000 (Coordinated Universal Time)

@mohinibhojane #php

star

Wed Jul 16 2025 11:05:52 GMT+0000 (Coordinated Universal Time) https://maticz.com/crypto-market-making-bot

@carolinemax

star

Wed Jul 16 2025 09:28:51 GMT+0000 (Coordinated Universal Time)

@jpooril

star

Wed Jul 16 2025 08:16:50 GMT+0000 (Coordinated Universal Time)

@adetorodev #swiftui #swift #ios

star

Wed Jul 16 2025 08:06:38 GMT+0000 (Coordinated Universal Time)

@Shira

star

Wed Jul 16 2025 06:47:49 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Tue Jul 15 2025 12:41:13 GMT+0000 (Coordinated Universal Time) https://maticz.com/zengo-wallet-clone-script

@austinparker

star

Tue Jul 15 2025 11:17:24 GMT+0000 (Coordinated Universal Time)

@Aamir

star

Tue Jul 15 2025 11:00:58 GMT+0000 (Coordinated Universal Time) https://www.roblox.com/home

@дцкбаджажлалддд

star

Tue Jul 15 2025 10:54:32 GMT+0000 (Coordinated Universal Time) https://www.hivelance.com/kucoin-clone-script

@stevejohnson #kucoinclone script #kucoinclone script development #kucoinexchange clone

star

Tue Jul 15 2025 10:53:30 GMT+0000 (Coordinated Universal Time) https://www.hivelance.com/aviator-prediction-bot-development

@stevejohnson #aviatorprediction bot #aiaviator prediction bot

star

Tue Jul 15 2025 10:43:58 GMT+0000 (Coordinated Universal Time) https://youtu.be/zRgD_wXI1Ik?si=oLUkcxdYZtcKvadH

@Huzaifa

star

Tue Jul 15 2025 05:58:39 GMT+0000 (Coordinated Universal Time) undefined

@meetmangukiya

star

Tue Jul 15 2025 02:55:58 GMT+0000 (Coordinated Universal Time) https://developer.mozilla.org/en-US/docs/Web/API/Payment_Handler_API

@Shookthadev999

star

Tue Jul 15 2025 00:40:14 GMT+0000 (Coordinated Universal Time) https://www.npmjs.com/package/webext-buildtools-dir-reader-mw

@Shookthadev999

star

Mon Jul 14 2025 17:47:47 GMT+0000 (Coordinated Universal Time)

@wizyOsva #bash #ffmpeg

star

Mon Jul 14 2025 13:47:40 GMT+0000 (Coordinated Universal Time)

@jrg_300i #undefined

star

Mon Jul 14 2025 11:27:01 GMT+0000 (Coordinated Universal Time)

@merol007

star

Mon Jul 14 2025 09:59:05 GMT+0000 (Coordinated Universal Time)

@swina #bash #mysql

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension