": js("$state.currentShader === 'pixelate'"),
                    },
                    "Pixelate (1 thread per workgroup)",
                ],
                [
                    "button",
                    {
                        "onClick": js(
                            "(e) => { $state.currentShader = 'workgroup_threads_pixelate'; }"
                        ),
                        "className": "px-4 py-2 rounded border hover:bg-gray-200 data-[selected=true]:bg-blue-500 data-[selected=true]:text-white",
                        "data-selected": js(
                            "$state.currentShader === 'workgroup_threads_pixelate'"
                        ),
                    },
                    "Pixelate (16x16 threads per workgroup)",
                ],
                [
                    "button",
                    {
                        "onClick": js("(e) => { $state.currentShader = 'invert'; }"),
                        "className": "px-4 py-2 rounded border hover:bg-gray-200 data-[selected=true]:bg-blue-500 data-[selected=true]:text-white",
                        "data-selected": js("$state.currentShader === 'invert'"),
                    },
                    "Invert",
                ],
            ],
        ],
        [
            js("WebGPUVideoView"),
            {
                "transform": js("$state.getCurrentShader()"),
                "showSourceVideo": True,
                "uniforms": js(
                    "[$state.tint[0], $state.tint[1], $state.tint[2], $state.pixelBlockSize]"
                ),
                "width": js("$state.width"),
                "height": js("$state.height"),
            },
        ],
        [
            js("colorScrubber"),
            {
                "value": js("$state.tint || [0,0,0]"),
                "onInput": js("(e) => { $state.tint = e.target.value; }"),
            },
        ],
    ]
).save_html("webgpu.html")


using DevToys.Tools.Helpers.SqlFormatter;
using DevToys.Tools.Helpers;
using DevToys.Tools.Models;
using Microsoft.Extensions.Logging;
using OneOf;

namespace DevToys.Tools.Tools.Formatters.Sql;

[Export(typeof(ICommandLineTool))]
[Name("SqlFormatter")]
[CommandName(
    Name = "sqlFormatter",
    Alias = "sqlf",
    ResourceManagerBaseName = "DevToys.Tools.Tools.Formatters.Sql.SqlFormatter",
    DescriptionResourceName = nameof(SqlFormatter.Description))]
internal sealed class SqlFormatterCommandLineTool : ICommandLineTool
{
#pragma warning disable IDE0044 // Add readonly modifier
    [Import]
    private IFileStorage _fileStorage = null!;
#pragma warning restore IDE0044 // Add readonly modifier

    [CommandLineOption(
        Name = "input",
        Alias = "i",
        IsRequired = true,
        DescriptionResourceName = nameof(SqlFormatter.InputOptionDescription))]
    internal OneOf<FileInfo, string>? Input { get; set; }

    [CommandLineOption(
        Name = "outputFile",
        Alias = "o",
        DescriptionResourceName = nameof(SqlFormatter.OutputFileOptionDescription))]
    internal FileInfo? OutputFile { get; set; }

    [CommandLineOption(
        Name = "indentation",
        DescriptionResourceName = nameof(SqlFormatter.IndentationOptionDescription))]
    internal Indentation IndentationMode { get; set; } = Indentation.TwoSpaces;

    [CommandLineOption(
        Name = "language",
        DescriptionResourceName = nameof(Sql


hostname).toBe("myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com");
      });
    });

    describe("validates client region with fips endpoint matching ARN region", () => {
      const bucketArn = parseArn("arn:aws-us-gov:s3:us-gov-west-1:123456789012:accesspoint:myendpoint");
      const clientRegion = "us-gov-east-1";
      const clientPartition = "aws-us-gov";
      it("should throw client region doesn't match arn region", () => {
        expect(() =>
          bucketHostname({
            bucketName: bucketArn,
            baseHostname: `s3.${clientRegion}.amazonaws.com`,
            isCustomEndpoint: false,
            clientRegion,
            clientPartition,
            fipsEndpoint: true,
          })
        ).toThrowError();
      });

      it("should throw client region doesn't match arn region and uses ARN region", () => {
        expect(() =>
          bucketHostname({
            bucketName: bucketArn,
            baseHostname: `s3.${clientRegion}.amazonaws.com`,
            isCustomEndpoint: false,
            clientRegion,
            clientPartition,
            useArnRegion: true,
            fipsEndpoint: true,
          })
        ).toThrowError();
      });
    });

    it("should throw if use accelerate endpoint", () => {
      expect(() => {
        bucketHostname({
          bucketName: parseArn("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint"),
          baseHostname: "s3.us-west-2.amazonaws.com",
          isCustomEndpoint: false,
          clientRegion: region,
          accelerateEndpoint: true,
        });
      }).toThrow("Accelerate endpoint is not supported when bucket is an ARN");
    });

    [
      { baseHostname: "s3.us-west-2.amazonaws.com", isCustomEndpoint: false },
      { baseHostname: "beta.example.com", isCustomEndpoint: true },
    ].forEach(({ baseHostname, isCustomEndpoint }) => {
      describe(`should validate Access Point ARN with baseHostname: ${baseHostname}`, () => {
        [
          {
            bucketArn: "arn:aws:sqs:us-west-2:123456789012:someresource",
            message: "Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123456789012:bucket_name:mybucket",
            message: "ARN resource should begin with 'accesspoint:' or 'outpost:'",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2::accesspoint:myendpoint",
            message: "Access point ARN accountID does not match regex '[0-9]{12}'",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123.45678.9012:accesspoint:mybucket",
            message: "Access point ARN accountID does not match regex '[0-9]{12}'",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123456789012:accesspoint:",
            message: "Access Point ARN should have one resource accesspoint:{accesspointname}",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123456789012:accesspoint:*",
            message: "Invalid DNS label *-123456789012",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123456789012:accesspoint:my.bucket",
            message: "Invalid DNS label my.bucket-123456789012",
          },
          {
            bucketArn: "arn:aws:s3:us-west-2:123456789012:accesspoint:mybucket:object:foo	",
            message: "Access Point ARN should have one resource accesspoint:{accesspointname


"shortdoc": "Returns a promise that resolves when file from ``path`` has been uploaded. Fails if the upload has not happened during timeout.", "tags": ["PageContent", "Setter"], "source": "/Users/mkorpela/workspace/robotframework-browser/Browser/keywords/promises.py", "lineno": 140}, {"name": "Promise To Wait For Download", "args": [{"name": "saveAs", "types": ["str"], "defaultValue": "", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "saveAs: str = "}], "doc": "
Returns a promise that waits for next download event on page.
\n
To enable downloads context's acceptDownloads needs to be true.
\n
With default filepath downloaded files are deleted when Context the download happened in is closed.
\n
saveAs defines path where the file is saved. File will also temporarily be saved in playwright context's default download location.
\n
Waited promise returns a dictionary which contains saveAs and suggestedFilename as keys. The saveAs contains where the file is downloaded and suggestedFilename contains the name suggested name for the download. The suggestedFilename is typically computed by the browser from the Content-Disposition response header or the download attribute. See the spec on whatwg. Different browsers can use different logic for computing it.
\n
Example usage:
\n
\nNew Context          acceptDownloads=True\nNew Page             ${LOGIN_URL}\n${dl_promise}        Promise To Wait For Download    /path/to/download/folder\nClick                \\#file_download\n${file_obj}=         Wait For  ${dl_promise}\nFile Should Exist    ${file_obj}[saveAs]\nShould Be True       ${file_obj.suggestedFilename}\n
", "shortdoc": "Returns a promise that waits for next download event on page.", "tags": ["BrowserControl", "Wait"], "source": "/Users/mkorpela/workspace/robotframework-browser/Browser/keywords/promises.py", "lineno": 63}, {"name": "Register Keyword To Run On Failure", "args": [{"name": "keyword", "types": ["str", "None"], "defaultValue": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "keyword: str | None"}, {"name": "args", "types": ["str"], "defaultValue": null, "kind": "VAR_POSITIONAL", "required": false, "repr": "*args: str"}], "doc": "
Sets the keyword to execute, when a Browser keyword fails.
\n
keyword is the name of a keyword that will be executed if a Browser keyword fails. It is possible to use any available keyword, including user keywords or keywords from other libraries, but the keyword must not take any arguments.
\n
args are the arguments to the keyword if any.
\n
The initial keyword to use is set when importing the library, and the keyword that is used by default is Take Screenshot. Taking a screenshot when something failed is a very useful feature, but notice that it can slow down the execution.
\n
It is possible to use string NONE or any other robot falsy name, case-insensitively, as well as Python None to disable this feature altogether.
\n
This keyword returns the name of the previously registered failure keyword or Python None if this functionality was previously disabled. The return value can be always used to restore the original value later.
\n
Example:
\n
\nRegister Keyword To Ru


) 조작 단계에서 SEELE는 학습된 태스크 프롬프트에 의해 안내된 단일 사전 훈련된 확산 모델을 사용하여 주제 제거 및 주제 완료를 처리한다. iii) SEELE는 후처리 단계에서 재배치된 피사체를 조화시켜 인접 영역과 매끄럽게 혼합되도록 한다.\n' +
      '\n' +
      '주제 재배치 알고리즘을 평가하기 위해 ReS라는 실제 주제 재배치 데이터 세트를 조립했다. 이 데이터 세트는 재배치된 피사체를 특징으로 하는 100개의 실제 이미지 쌍으로 구성된다. 다양한 장면과 다양한 시간에 이미지를 수집하여 다양성을 높였다. SAM과 수동 개선을 사용하여 재배치된 피험자의 마스크에 주석을 달았다. 페어링된 영상에서 마스크의 중심점을 기준으로 이동 방향을 추정하였다. 폐색된 피험자를 위한 아모달 마스크도 제공합니다. 우리가 아는 한, 이것은 주제 재배치를 위한 첫 번째 데이터 세트이며 귀중한 벤치마크 평가 데이터 세트가 되기를 바란다.\n' +
      '\n' +
      '우리의 기여는 다음과 같이 요약된다:\n' +
      '\n' +
      '* 본 논문은 주제 재배치 작업을 특수 이미지 조작 도전으로 기술하고, 이를 몇 가지 별개의 하위 과제로 분해하며, 각각은 고유한 과제를 제시하고 특정 학습 모델 요구 사항을 필요로 한다.\n' +
      '* 본 논문은 단일 확산 모델을 사용하여 주제 재배치에서 여러 생성 하위 작업을 다루는 SEELE(segment-gEnerate-and-bLEnd)


      }
    },
    'triangle-down': {
      draw: function (context, size) {
        var r = Math.sqrt(size) / 2,
            h = HalfSqrt3 * r;
        context.moveTo(0, h);
        context.lineTo(-r, -h);
        context.lineTo(r, -h);
        context.closePath();
      }
    },
    'triangle-right': {
      draw: function (context, size) {
        var r = Math.sqrt(size) / 2,
            h = HalfSqrt3 * r;
        context.moveTo(h, 0);
        context.lineTo(-h, -r);
        context.lineTo(-h, r);
        context.closePath();
      }
    },
    'triangle-left': {
      draw: function (context, size) {
        var r = Math.sqrt(size) / 2,
            h = HalfSqrt3 * r;
        context.moveTo(-h, 0);
        context.lineTo(h, -r);
        context.lineTo(h, r);
        context.closePath();
      }
    },
    'stroke': {
      draw: function (context, size) {
        const r = Math.sqrt(size) / 2;
        context.moveTo(-r, 0);
        context.lineTo(r, 0);
      }
    }
  };

  function symbols(_) {
    return has$1(builtins, _) ? builtins[_] : customSymbol(_);
  }

  var custom = {};

  function customSymbol(path) {
    if (!has$1(custom, path)) {
      const parsed = pathParse(path);
      custom[path] = {
        draw: function (context, size) {
          pathRender(context, parsed, 0, 0, Math.sqrt(size) / 2);
        }
      };
    }

    return custom[path];
  }

  const C = 0.448084975506; // C = 1 - c

  function rectangleX(d) {
    return d.x;
  }

  function rectangleY(d) {
    return d.y;
  }

  function rectangleWidth(d) {
    return d.width;
  }

  function rectangleHeight(d) {
    return d.height;
  }

  function number$3(_) {
    return typeof _ === 'function' ? _ : () => +_;
  }

  function clamp(value, min, max) {
    return Math.max(min, Math.min(value, max));
  }

  function vg_rect() {
    var x = rectangleX,
        y = rectangleY,
        width = rectangleWidth,
        height = rectangleHeight,
        crTL = number$3(0),
        crTR = crTL,
        crBL = crTL,
        crBR = crTL,
        context = null;

    function rectangle(_, x0, y0) {
      var buffer,
          x1 = x0 != null ? x0 : +x.call(this, _),
          y1 = y0 != null ? y0 : +y.call(this, _),
          w = +width.call(this, _),
          h = +height.call(this, _),
          s = Math.min(w, h) / 2,
          tl = clamp(+crTL.call(this, _), 0, s),
          tr = clamp(+crTR.call(this, _), 0, s),
          bl = clamp(+crBL.call(this, _), 0, s),
          br = clamp(+crBR.call(this, _), 0, s);
      if (!context) context = buffer = path$3();

      if (tl <= 0 && tr <= 0 && bl <= 0 && br <= 0) {
        context.rect(x1, y1, w, h);
      } else {
        var x2 = x1 + w,
            y2 = y1 + h;
        context.moveTo(x1 + tl, y1);
        context.lineTo(x2 - tr, y1);


75 0 0 1-1.08.02L2.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093L8.95 4.992a.252.252 0 0 1 .02-.022zm-.92 5.14l.92.92a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 1 0-1.091-1.028L9.477 9.417l-.485-.486-.943 1.179z"/>');// eslint-disable-next-line
var BIconCheckCircle=/*#__PURE__*/make_icon_makeIcon('CheckCircle','<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"/>');// eslint-disable-next-line
var BIconCheckCircleFill=/*#__PURE__*/make_icon_makeIcon('CheckCircleFill','<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>');// eslint-disable-next-line
var BIconCheckSquare=/*#__PURE__*/make_icon_makeIcon('CheckSquare','<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/><path d="M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.235.235 0 0 1 .02-.022z"/>');// eslint-disable-next-line
var BIconCheckSquareFill=/*#__PURE__*/make_icon_makeIcon('CheckSquareFill','<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z"/>');// eslint-disable-next-line
var BIconChevronBarContract=/*#__PURE__*/make_icon_makeIcon('ChevronBarContract','<path fill-rule="evenodd" d="M3.646 14.854a.5.5 0 0 0 .708 0L8 11.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0


sideColor)

  for (let i = 0; i < parameters.count; i++) {
    const i3 = i * 3

    const radius = Math.random() * parameters.radius

    const rotationAngle = radius * parameters.spin
    const branchAngle =
      ((i % parameters.branches) / parameters.branches) * Math.PI * 2
    const angle = rotationAngle + branchAngle

    const getRandomness = () =>
      // Math.pow(Math.random(), parameters.randomnessPow) *
      // (Math.random() >= 0.5 ? 1 : -1) *
      Math.pow(Math.random(), parameters.randomnessPow) *
      (Math.random() > 0.5 ? 1 : -1) *
      parameters.randomness *
      (radius + 1)

    const randomShiftX = getRandomness()
    const randomShiftY = getRandomness()
    const randomShiftZ = getRandomness()

    positions[i3] = Math.cos(angle) * radius + randomShiftX
    positions[i3 + 1] = Math.sin(angle) * radius + randomShiftY
    positions[i3 + 2] = randomShiftZ

    const color = insideColor
      .clone()
      .lerp(outsideColor, radius / parameters.radius)
    colors[i3] = color.r
    // insideColor.r +
    // ((outsideColor.r - insideColor.r) * radius) / parameters.radius
    colors[i3 + 1] = color.g
    // insideColor.g +
    // ((outsideColor.g - insideColor.g) * radius) / parameters.radius
    colors[i3 + 2] = color.b
    // insideColor.b +
    // ((outsideColor.b - insideColor.b) * radius) / parameters.radius
  }

  geometry.setAttribute(
    "position",
    new THREE.Float32BufferAttribute(positions, 3)
  )
  geometry.setAttribute("color", new THREE.Float32BufferAttribute(colors, 3))

  material = new THREE.PointsMaterial({
    size: parameters.size,
    sizeAttenuation: true,
    depthWrite: false,
    blending: THREE.AdditiveBlending,
    vertexColors: true,
  })
  points = new THREE.Points(geometry, material)
  scene.add(points)
}

gui
  .add(parameters, "count")
  .min(1000)
  .max(100 * 1000)
  .step(1000)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "size")
  .min(0)
  .max(0.1)
  .step(0.001)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "radius")
  .min(0)
  .max(20)
  .step(0.1)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "branches")
  .min(2)
  .max(20)
  .step(1)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "spin")
  .min(1)
  .max(20)
  .step(1)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "randomness")
  .min(0)
  .max(2)
  .step(0.05)
  .onFinishChange(generateGalaxy)
gui
  .add(parameters, "randomnessPow")
  .min(1)
  .max(10)
  .step(1)
  .onFinishChange(generateGalaxy)
gui.addColor(parameters, "insideColor").onFinishChange(generateGalaxy)
gui.addColor(parameters, "outsideColor").onFinishChange(generateGalaxy)
generateGalaxy()

/**
 * Sizes
 */
const sizes = {
  width: window.innerWidth,
  height: window.innerHeight,
}

window.addEventListener("resize", () => {
  // Update sizes
  sizes.width = window.innerWidth
  sizes.height = window.innerHeight

  // Update camera
  camera.aspect = sizes.width / sizes.height
  camera.updatePro


\'欠く / …‘の\'答えを間違う / 的(まと)を外れる,当たり損なう;受け損なう / (…で)失敗する《+『in』+『名』》 / 発火しない,点火しない / やり損ない,失敗(failure);免れること,回避(escape)'],
  ['Miss.', 'Mississippi'],
  ['missal', '《しばしばM-》(ローマカトリック教会の)ミサ典書;(一般に)祈祷書'],
  ['misshape', '‘を\'作りそこなう'],
  ['misshapen', 'できそこないの,ぶかっこうな;奇形の(deformed)'],
  ['missile', '『ミサイル』,ロケット弾 / 《文》飛び道具(石,矢,投げやりなど)'],
  ['missilery', 'ミサイル工学,誘導弾学'],
  ['missing', '紛失した,行方不明の / 欠けている,ない(lacking) / 《the ~;名詞的に》行方不明者'],
  ['missing link', '連鎖しているもので欠けた部分 / 《the ~》類人猿と人間の中間に存在したとされる仮定の動物'],
  ['mission', '(…への)『使節団』,派遺団《+『to』+『名』》;(特定の任務・使命のための)隊,団 / (派遺される人または団体の)任務,使命 / 軍事作戦上の任務 / 《米》在外公館 / (伝道のために,特に外国に派遺される)牧師団,布教団;伝道所;《複数形で》伝道事業(活動) / (人間としての)使命'],
  ['missionary', '使節,(特に外国へ派遺される)宣教師,伝道師 / 伝道の,布教の'],
  ['Mississippi', 'ミシシッピ州(米国南中部の州;州都はJackson{略}『Miss.,MS』) / 《the ~》ミシシッピ川(米国中部にある世界的な大河の一つ)'],
  ['Mississippian', 'ミシシッピ川の,ミシシッピ州の / 〈C〉ミシシッピ州の住民 / 〈U〉(地質年代で)ミシシッピ紀'],
  ['missive', '《時に誇張して》(長々しく,大まじめな)信書,書状;(特に)公文書'],
  ['Missouri', 'ミズーリ州(米国中部の州;州都はJefferson City;{略}『Mo.,MO』) / 《the ~》ミズーリ川(Mississippi川の支流)'],
  ['misspell', '…‘の\'つづりを誤る'],
  ['misspelling', '〈U〉つづりの誤り / 〈C〉間違ったつづり'],
  ['misspend', '…‘を\'むだに(間違って)使う'],
  ['misstate', '…‘


(e, profile, applicationName);
			mdcExceptionLogFeignApi.saveAndSendExceptionLog(globalExceptionLogDto);
		});
		return WrapMapper.error();
	}
}
package com.paascloud.provider.model.domain;

import com.paascloud.core.mybatis.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.Alias;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;

/**
 * The class Uac group.
 *
 * @author paascloud.net@gmail.com
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "pc_uac_group")
@Alias(value = "uacGroup")
public class UacGroup extends BaseEntity {
	private static final long serialVersionUID = 1752542793067966068L;

	/**
	 * 组织编码
	 */
	@Column(name = "group_code")
	private String groupCode;

	/**
	 * 组织名称
	 */
	@Column(name = "group_name")
	private String groupName;

	/**
	 * 状态
	 */
	private Integer status;

	/**
	 * 组织类型 1：仓库 2：基地
	 */
	private String type;

	/**
	 * 父ID
	 */
	private Long pid;

	/**
	 * 层级
	 */
	private Integer level;

	/**
	 * 是否叶子节点,1不是0是
	 */
	private Integer leaf;

	/**
	 * 联系人
	 */
	private String contact;

	/**
	 * 组织地址
	 */
	@Column(name = "group_address")
	private String groupAddress;

	/**
	 * 省名称
	 */
	@Column(name = "province_name")
	private String provinceName;

	/**
	 * 省编码
	 */
	@Column(name = "province_id")
	private Long provinceId;

	/**
	 * 城市名称
	 */
	@Column(name = "city_name")
	private String cityName;

	/**
	 * 城市编码
	 */
	@Column(name = "city_id")
	private Long cityId;

	/**
	 * 区名称
	 */
	@Column(name = "area_name")
	private String areaName;

	/**
	 * 区编码
	 */
	@Column(name = "area_id")
	private Long areaId;

	/**
	 * 街道编码
	 */
	@Column(name = "street_id")
	private Long streetId;

	/**
	 * 街道名称
	 */
	@Column(name = "street_name")
	private String streetName;

	/**
	 * 详细地址
	 */
	@Column(name = "detail_address")
	private String detailAddress;

	/**
	 * 联系人手机号
	 */
	@Column(name = "contact_phone")
	private String contactPhone;

	/**
	 * 描述
	 */
	private String remark;

	/**
	 * 预留排序字段
	 */
	private Integer number;

	/**
	 * 上级组织编码
	 */
	@Transient
	private String parentGroupCode;

	/**
	 * 上级组织名称
	 */
	@Transient
	private String parentGroupName;

	/**
	 * 四级地址数组
	 */
	@Transient
	private List<Long> addressList;

}/*
 * Copyright (c) 2018. paascloud.net All Rights Reserved.
 * 项目名称：paascloud快速搭建企业级分布式微服务平台
 * 类名称：ZtreeResponseVo.java
 * 创建人：刘兆明
 * 联系方式：paascloud.net@gmail.com
 * 开源地址: https://github.com/paascloud
 * 博客地址: http://blog.paascloud.net
 * 项目官网: http://paas


引入 Jetpack Compose

其他 APK体积膨胀, 不再”小而美“

0.3.5.2 LTS 2022.10.11

修复 因图片缓存配置错误而在主播放器出现的低像素图片

修复 扫描媒体对话框因加载结束前提前退出导致崩溃

0.3.5.1 LTS 2022.10.8

修复 删除对话框不消失删除结果

修复 使用旧式方法浏览文件时无法解析歌曲

修复 歌曲内嵌图片过大时引起崩溃

修复 调整应用窗口大小时崩溃

0.3.5 LTS 2022.10.6

翻译 更新日语(aorinngo), 西班牙语(Armando de Nazareth)

修复 删除对话框无法滚动

0.3.4 2022.10.3

新增 删除歌曲时一并删除同名歌词文件(需'管理全部文件'权限)

修复 选择文件夹进行播放时无法递归选择其下所有子文件夹

修复 播放器界面崩溃,如调整窗口大小时(仅部分修复)

改进 图片加载时限制大小以防止过大图片导致崩溃

改进 关闭遇到 opus 格式时弹出的错误通知(目前暂时无法读取 opus 格式的标签)

开发 补上部分库缺失的 License

开发 更新 Gradle 至 7.5.1, 更新 AGP 至 7.3.0, 更新依赖

0.3.3 2022.9.18

修复 打开应用时播放队列被随机刷新

改进 将交换队列操作(随机播放、播放播放列表/专辑/艺术家)移动到后台，以修复更改队列时卡死(如果歌曲过多)

改进 加载封面图时指定图片大小，尽量避免图片过大导致应用崩溃


kThrowMsg(t, e.WasmAssertMsg("only highest bidder can claim"), create)
	e.CreateAccountWithResources2(common.N("prefb"), eve, 8000)
	create = func() { e.CreateAccountWithResources2(common.N("prefe"), carl, 8000) }
	CheckThrowMsg(t, e.WasmAssertMsg("auction for name is not closed yet"), create)

	e.ProduceBlock(common.Milliseconds(common.DefaultConfig.BlockIntervalMs), 0)
	e.ProduceBlock(common.Hours(24), 0)
	// by now bid for prefe has closed
	e.CreateAccountWithResources2(common.N("prefe"), carl, 8000)

	// prefe can now create *.prefe
	create = func() { e.CreateAccountWithResources2(common.N("xyz.prefe"), carl, 8000) }
	CheckThrowMsg(t, e.WasmAssertMsg("only suffix may create this account"), create)

	e.Transfer(eosio, common.N("prefe"), CoreFromString("10000.0000"), eosio)
	e.CreateAccountWithResources2(common.N("xyz.prefe"), common.N("prefe"), 8000)

	// other auctions haven't closed
	create = func() { e.CreateAccountWithResources2(common.N("prefa"), bob, 8000) }
	CheckThrowMsg(t, e.WasmAssertMsg("auction for name is not closed yet"), create)

	e.close()
}

func TestVoteProducersInAndOut(t *testing.T) {
	e := initEosioSystemTester()
	net := CoreFromString("80.0000")
	cpu := CoreFromString("80.0000")
	voters := []common.AccountName{voter1, voter2, voter3, voter4}
	for _, vote := range voters {
		e.CreateAccountWithResources(vote, eosio, CoreFromString("1.0000"), false, net, cpu)
	}

	// create accounts {defproducera, defproducerb, ..., defproducerz} and register as producers
	var producersNames []common.AccountName
	{
		root := "defproducer"
		for c := 'a'; c <= 'z'; c++ {
			acc := common.N(root + string(c))
			producersNames = append(producersNames, acc)
		}
		e.SetupProducerAccounts(producersNames)
		for _, prod := range producersNames {
			assert.Equal(t, e.Success(), e.RegProducer(prod))
			e.ProduceBlocks(1, false)
			assert.True(t, math.Abs(e.GetProducerInfo(prod)["total_votes"].(float64)-e.Stake2Votes(CoreFromString("0.0000"))) <= EPSINON)
		}
	}

	for _, vote := range voters {
		e.Transfer(eosio, vote, CoreFromString("200000000.0000"), eosio)
		assert.Equal(t, e.Success(), e.Stake(vote, vote, CoreFromString("30000000.0000"), CoreFromString("30000000.0000")))
	}

	assert.Equal(t, e.Success(), e.Vote(voter1, producersNames[0:20], common.AccountName(0)))
	assert.Equal(t, e.Success(), e.Vote(voter2, producersNames[0:21], common.AccountName(0)))
	assert.Equal(t, e.Success(), e.Vote(voter3, producersNames, common.AccountName(0)))

	// give a chance for everyone to produce blocks
	e.ProduceBlocks(23*12+20, false)
	all21Produced := true
	for i := 0; i < 21; i++ {
		if e.GetProducerInfo(producersNames[i])["unpaid_blocks"].(uint32) == uint32(0) {
			all21Produced = false
		}
	}
	restDidntProduce := true
	for i := 21; i < len(producersNames); i++ {
		if e.GetProducerInfo(producersNames[i])["unpaid_blocks"].(uint32) > uint32


2, 3, 4, 5, 6), 0),
            RollCase(`🎲🎲🎲🎲🎲`(4, 4, 1, 4, 1), 25)
        ) { (dice, expectedResult) ->
            Roll.from(dice.build())
                .map { YahtzeeCalculator.fullHouse(it) } shouldBeRight expectedResult
        }
    }

    context("30 for small straights") {
        withData(
            RollCase(`🎲🎲🎲🎲🎲`(1, 2, 3, 4, 5), 30),
            RollCase(`🎲🎲🎲🎲🎲`(5, 4, 3, 2, 1), 30),
            RollCase(`🎲🎲🎲🎲🎲`(2, 3, 4, 5, 1), 30),
            RollCase(`🎲🎲🎲🎲🎲`(1, 1, 1, 3, 2), 0)
        ) { (dice, expectedResult) ->
            Roll.from(dice.build())
                .map { YahtzeeCalculator.smallStraight(it) } shouldBeRight expectedResult
        }
    }

    context("40 for large straights") {
        withData(
            RollCase(`🎲🎲🎲🎲🎲`(1, 2, 3, 4, 5), 40),
            RollCase(`🎲🎲🎲🎲🎲`(5, 4, 3, 2, 1), 40),
            RollCase(`🎲🎲🎲🎲🎲`(2, 3, 4, 5, 6), 40),
            RollCase(`🎲🎲🎲🎲🎲`(1, 4, 1, 3, 2), 0)
        ) { (dice, expectedResult) ->
            Roll.from(dice.build())
                .map { YahtzeeCalculator.largeStraight(it) } shouldBeRight expectedResult
        }
    }

    context("50 for yahtzees") {
        withData(
            RollCase(`🎲🎲🎲🎲🎲`(4, 4, 4, 4, 4), 50),
            RollCase(`🎲🎲🎲🎲🎲`(2, 2, 2, 2, 2), 50),
            RollCase(`🎲🎲🎲🎲🎲`(1, 4, 1, 3, 2), 0)
        ) { (dice, expectedResult) ->
            Roll.from(dice.build())
                .map { YahtzeeCalculator.yahtzee(it) } shouldBeRight expectedResult
        }
    }

    context("sum of all dice for chance") {
        withData(
            RollCase(`🎲🎲🎲🎲🎲`(3, 3, 3, 3, 3), 15),
            RollCase(`🎲🎲🎲🎲🎲`(6, 5, 4, 3, 3), 21),
            RollCase(`🎲🎲🎲🎲🎲`(1, 4, 1, 3, 2), 11)
        ) { (dice, expectedResult) ->
            Roll.from(dice.build())
                .map { YahtzeeCalculator.chance(it) } shouldBeRight expectedResult
        }
    }

    context("fail for invalid rolls") {
        withData(
            InvalidRoll(1),
            InvalidRoll(1, 6, 2),
            InvalidRoll(1, 6, 2, 5),
            InvalidRoll(1, 6, 2, 5, 4, 1),
            InvalidRoll(1, 6, 2, 5, 4, 1, 2)
        ) {
            Roll.from(it.dice) shouldBeLeft Error("Invalid dice... A roll should contain 6 dice.")
        }
    }

    context("fail for invalid die in roll") {
        withData(
            InvalidRoll(1, 1, 1, 1, 7),
            InvalidRoll(0, 1, 1, 1, 2),
            InvalidRoll(1, 1, -1, 1, 2)
        ) {
            Roll.from(it.dice) shouldBeLeft Error("Invalid die value. Each die must be between 1 and 6.")
        }
    }
})package diamond

import arrow.core.None
import arrow.core.Option
import arrow.core.Some

object Diamond {
    private const val START = 'A'

    fun Char.toDiamond(): Option<String> = print(this)

    private fun print(endCharacter: Char): Option<String> =
        if


 Download the file  [**🔗Renesas FW Update**](https://thundercomm.s3.dualstack.ap-northeast-1.amazonaws.com/uploads/web/rubik-pi-3/firmware/Flat_usb_fw.zip)
	2: Unzip and copy the QDL executable files from [**Step1**](#1⃣-setup-qdl-tool) to Renesas Firmware folder.
	:::note
		- For Windows host make sure to copy the dll files along with the executable
	:::
3: Enter into [**🔗 EDL mode**](../2.set-up-your-device.md#enter-into-edl-mode)
4: Flash the driver using QDL command
<Tabs>
<TabItem value="uhost" label="Ubuntu host">
Run the following command.
```shell
qdl --storage ufs prog_firehose_ddr.elf rawprogram*.xml patch*.xml
```
</TabItem>
<TabItem value="whost" label="Windows host">
Run the following command
```shell
QDL.exe prog_firehose_ddr.elf rawprogram0.xml rawprogram1.xml rawprogram2.xml rawprogram3.xml rawprogram4.xml rawprogram5.xml patch1.xml patch2.xml patch3.xml patch4.xml patch5.xml
```
</TabItem>
<TabItem value="mhost" label="macOS host">
Run the following command
```shell
qdl prog_firehose_ddr.elf rawprogram*.xml patch*.xml
```
</TabItem>
</Tabs>
:::note
 In case of failures, remove and plug in the power supply and USB cable to restart your RUBIK Pi 3 and perform the flashing operation again.
:::

### 4⃣ Download Canonical Ubuntu build and flash
1: Download the system image for RPi3 from the Canonical Ubuntu site. [**🔗Server 24.04 image**](https://people.canonical.com/~platform/images/qualcomm-iot/rubikpi3/ubuntu-server-24.04/x00/ubuntu-24.04-preinstalled-server-arm64+rubikpi3-20250912-127.img.xz)
2: Download the dtb.bin file [**🔗Devicetree blob**](https://people.canonical.com/~platform/images/qualcomm-iot/rubikpi3/ubuntu-server-24.04/x00/dtb.bin)
3: Download the rawprogram0.xml file [**🔗rawprogram0.xml**](https://people.canonical.com/~platform/images/qualcomm-iot/rubikpi3/ubuntu-server-24.04/x00/rawprogram0.xml)
4: Download the boot firmware image. [**🔗Boot firmware**](https://thundercomm.s3.dualstack.ap-northeast-1.amazonaws.com/uploads/web/rubik-pi-3/nhlos-bins/QLI.1.4-ubuntu-rubikpi3-nhlos-bins-20250912-127.tar.gz)
5: Unzip the boot firmware image zip file and copy the dtb.bin, rawprogram0.xml and system images to this folder location.
6: Unzip and copy the QDL executable files from [**Step1**](#1⃣-setup-qdl-tool) to Boot Firmware folder.
	:::note
		- For Windows host make sure to copy the dll files along with the executable
	:::
7: Enter into [**🔗 EDL mode**](../2.set-up-your-device.md#enter-into-edl-mode)
8: Flash the device using the command
<Tabs>
<TabItem value="uhost" label="Ubuntu host">
Run the following command.
```shell
qdl --storage ufs prog_firehose_ddr.elf rawprogram*.xml patch*.xml
```
</TabItem>
<TabItem value="whost" label="Windows host">
Run the following command
```shell
QDL.exe prog_firehose_ddr.elf rawprogram0.xml rawprogram1.xml rawprogram2.xml rawprogram3.xml rawprogram4.xml rawprogram5.xml rawprogram6.xml patch1.xml patch2.xml patch3.xml patch4.xml patch5.xml patch6.xml
```
</TabItem>
<TabItem value="mhost" label="macOS host">
R


 t, 1, 1, 'てません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[6]!, f, f, 1, 1, 'たれる'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[6]!, f, t, 1, 1, 'たれます'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[6]!, t, f, 1, 1, 'たれない'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[6]!, t, t, 1, 1, 'たれません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, f, f, 1, 1, 'たせる'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, f, f, 2, 1, 'たす'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, f, t, 1, 1, 'たせます'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, f, t, 2, 1, 'たします'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, t, f, 1, 1, 'たせない'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, t, f, 2, 1, 'たさない'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, t, t, 1, 1, 'たせません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[7]!, t, t, 2, 1, 'たしません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, f, f, 1, 1, 'たせられる'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, f, f, 2, 1, 'たされる'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, f, t, 1, 1, 'たせられます'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, f, t, 2, 1, 'たされます'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, t, f, 1, 1, 'たせられない'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, t, f, 2, 1, 'たされない'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, t, t, 1, 1, 'たせられません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[8]!, t, t, 2, 1, 'たされません'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[9]!, f, f, 1, 1, 'とう'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[9]!, f, t, 1, 1, 'ちましょう'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[9]!, t, f, 1, 1, 'つまい'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[9]!, t, t, 1, 1, 'ちませんまい'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[10]!, f, f, 1, 1, 'て'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[10]!, f, t, 1, 1, 'ちなさい'),
	Conjo(posIdToPosEnum[40]!, conjIdToConjEnum[10]!, t, f


d and estimate the
correlation of random effects.

Ecologically, correlation of random effects corresponds best with
trait syndromes, where species’ environmental responses are a
type of latent trait. Positive correlation of random effects means that
a species’ response to one effect is similar to that of another, and
negative that they are opposites. If the correlation is close to zero, a
species response to two effects is entirely different.

Syntax-wise, terms that share the same brackets get correlation
parameters; simple, right?! It is important to note that the number of
correlation parameters increases quite quickly with the number of
effects, and that it tends to slow model fitting down considerably, due
to the added complexity. Having said that, let’s go ahead and add a
correlation parameter for silt_clay and elevation:

model8 <- gllvm(Y, X, formula = ~diag(0+island|1) + (0+scale(silt_clay)+scale(elevation)|1), row.eff =~1, family = "negative.binomial", num.lv = 0)
summary(model8)

##
## Call:
## gllvm(y = Y, X = X, formula = ~diag(0 + island | 1) + (0 + scale(silt_clay) +
##     scale(elevation) | 1), family = "negative.binomial", num.lv = 0,
##     row.eff = ~1)
##
## Family:  negative.binomial
##
## AIC:  16564.01 AICc:  16567.24 BIC:  17436.07 LL:  -8160 df:  122
##
## Informed LVs:  0
## Constrained LVs:  0
## Unconstrained LVs:  0
##
## Formula:  ~diag(0 + island | 1) + (0 + scale(silt_clay) + scale(elevation) | 1)
## LV formula:  ~ 0
## Row effect:  ~ 1
##
## Random effects:
##  Name             Variance Std.Dev Corr
##  islandNorderney  2.2520   1.5007
##  islandSpiekeroog 0.0000   0.0058  0.0000
##  islandWangerooge 0.3181   0.5640  0.0000 0.0000
##  scale.silt_clay. 0.3041   0.5514  0.0000 0.0000 0.0000
##  scale.elevation. 0.2743   0.5237  0.0000 0.0000 0.0000 0.4403

We still have the diag wrapped around the island
covariate, so we only add one correlation parameter. It is estimated to
be about 0.48, meaning that the responses of species to silt_clay and
elevation are somewhat similar. Usually, this can be seen in their
estimates:

randomCoefplot(model8, which.Xcoef = c("scale.silt_clay.", "scale.elevation.&


 EbeanServer_refresh {

  private Path createSqlFile() throws IOException {
    File f = File.createTempFile("test-script", ".sql");
    Path path = f.toPath();
    List<String> lines = new ArrayList<>();
    lines.add("select * from o_customer;");
    Files.write(path, lines, StandardOpenOption.TRUNCATE_EXISTING);
    return path;
  }

  @Test
  void script_run_asFile() throws IOException {
    ResetBasicData.reset();

    Path path = createSqlFile();
    DB.script().run(path);
    DB.script().run(path, Collections.emptyMap());
  }

  @Test
  void basic() {
    Map<String, String> map = new HashMap<>();
    map.put("tableName", "e_basic");

    Database server = DB.getDefault();
    DB.script().run("/scripts/test-script.sql");
    DB.script().run("/scripts/test-script-2.sql", map);
    server.script().run(this.getClass().getResource("/scripts/test-script.sql"));
    server.script().run(this.getClass().getResource("/scripts/test-script-2.sql"), map);

    EBasic basic = new EBasic("basic refresh");
    basic.setStatus(EBasic.Status.NEW);
    server.save(basic);

    int rows =
      server.update(EBasic.class)
        .set("status", EBasic.Status.ACTIVE)
        .where().idEq(basic.getId())
        .update();

    assertEquals(rows, 1);

    basic.setName("modify");
    assertTrue(DB.beanState(basic).isDirty());
    server.refresh(basic);
    assertEquals(basic.getStatus(), EBasic.Status.ACTIVE);
    assertFalse(DB.beanState(basic).isDirty());
  }

  @Test
  void refresh_when_oneToManyLoaded() {
    ResetBasicData.reset();

    Order order = DB.find(Order.class, 1);
    order.getCustomer().getName();
    order.getDetails().size();

    DB.refresh(order);
  }

  @Test
  void refresh_when_oneToManyVanilla() {
    ResetBasicData.reset();

    Order order = DB.find(Order.class, 1);
    order.getCustomer().getName();
    order.setDetails(new ArrayList<>());

    DB.refresh(order);
  }

  @Test
  void refresh_when_oneToManyNull() {
    ResetBasicData.reset();

    Order order = DB.find(Order.class, 1);
    order.getCustomer().getName();
    order.setDetails(null);

    DB.refresh(order);
  }

  @Test
  void refresh_on_details_new() {
    ResetBasicData.reset();

    Order order = DB.find(Order.class, 1);
    DB.refresh(order); // call refresh BEFORE first access on "getDetail";

    assertThat(order.getDetails()).hasSize(3);

    OrderDetail detail = new OrderDetail();
    detail.setOrder(order);
    DB.save(detail);

    try {
      assertThat(order.getDetails()).hasSize(3);
      DB.refresh(order);
      assertThat(order.getDetails()).hasSize(4);
    } finally {
      DB.delete(detail); // restore old state
    }

    DB.refresh(order);

    assertThat(order.getDetails()).hasSize(3);
  }

  @Test
  void refresh_on_details_changed() {
    ResetBasicData.reset();
    Order order = DB.find(Order.class, 1);

    DB.refresh(order); // call refresh BEFORE first access on "getDetail"
    // this changes the loader of the details-bean collection from DefaultServer to DLoadManyContext$LoadBuffer
    // if this refresh i


.rs
/// Just display a window
use kapp::*;

fn main() {
    let (app, event_loop) = initialize();
    let _window = app.new_window().build().unwrap();

    event_loop.run(move |event| {
        if app.pointer_button(PointerButton::Primary) {
            println!("Mouse pressed");
        }

        match event {
            Event::WindowCloseRequested { .. } => app.quit(),
            _ => {}
        }
    });
}
<reponame>neutronest/Rotex<filename>src/utils/helper.rs
use linalg::{Matrix, Vector};
use std::fmt;

pub fn show_vector<T: fmt::Display>(vec: &mut Vector<T>) {

    print!("[");
    for x in (vec.data()) {
        print!("{},", x);
    }
    print!("]\n");
}

pub fn show_matrix<T: fmt::Display> (mat: &mut Matrix<T>) {

    let row_num = mat.rows();
    let col_num = mat.cols();
    print!("[\n");
    for i in 0..row_num {
        print!("[");
        for j in 0..col_num {
            print!("{},", mat.data()[i*j]);
        }
        print!("]\n");
    }
    print!("]\n");

}
<filename>src/integer.rs
use AtomData;
use AtomParser;

pub struct Integer {
    value: i32,
}

impl AtomData for Integer {
    type T = i32;

    fn get_value(&self) -> i32 {
        self.value
    }
}

pub struct IntegerParser;

impl AtomParser for IntegerParser {
    fn str_is(&self, s: &str) -> bool {
        true
    }

    fn parse_str(&self, s: &str) -> Integer {
        Integer { value: 1234 }
    }
}
/*
 * Copyright 2022. gudaoxuri
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

use sea_query::Query;
use strum::IntoEnumIterator;
use testcontainers::clients;

use bios::basic::result::BIOSResult;
use bios::db::reldb_client::SqlBuilderProcess;
use bios::BIOSFuns;
use bios_baas_iam::domain::auth_domain::{IamAccountRole, IamAuthPolicy, IamAuthPolicyObject, IamResource, IamResourceSubject, IamRole};
use bios_baas_iam::domain::ident_domain::{IamAccount, IamAccountApp, IamAccountIdent, IamApp, IamAppIdent, IamTenant, IamTenantCert, IamTenantIdent};
use bios_baas_iam::iam_config::WorkSpaceConfig;
use bios_baas_iam::iam_initializer;
use bios_baas_iam::process::app_console::ac_account_dto::AccountRoleDetailResp;
use bios_baas_iam::process::app_console::ac_app_dto::AppIdentDetailResp;
use bios_baas_iam::process::app_console::ac_auth_policy_dto::{AuthPolicyDetailResp, AuthPolicyObjectDetailResp};
use bios_baas_iam::process::app_console::ac_resource_dto::{ResourceDetailResp, ResourceSubjectDetailResp};
use bios_baas_iam::process::app_console::ac


` resources **only if** they do not grant privilege to the same role.
//
// ## spanner.DatabaseIAMPolicy
//
// ```go
// package main
//
// import (
//
//	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
//	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/spanner"
//	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
//	func main() {
//		pulumi.Run(func(ctx *pulumi.Context) error {
//			admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
//				Bindings: []organizations.GetIAMPolicyBinding{
//					{
//						Role: "roles/editor",
//						Members: []string{
//							"user:jane@example.com",
//						},
//					},
//				},
//			}, nil)
//			if err != nil {
//				return err
//			}
//			_, err = spanner.NewDatabaseIAMPolicy(ctx, "database", &spanner.DatabaseIAMPolicyArgs{
//				Instance:   pulumi.String("your-instance-name"),
//				Database:   pulumi.String("your-database-name"),
//				PolicyData: pulumi.String(admin.PolicyData),
//			})
//			if err != nil {
//				return err
//			}
//			return nil
//		})
//	}
//
// ```
//
// With IAM Conditions:
//
// ```go
// package main
//
// import (
//
//	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/organizations"
//	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/spanner"
//	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
//
// )
//
//	func main() {
//		pulumi.Run(func(ctx *pulumi.Context) error {
//			admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
//				Bindings: []organizations.GetIAMPolicyBinding{
//					{
//						Role: "roles/editor",
//						Members: []string{
//							"user:jane@example.com",
//						},
//						Condition: {
//							Title:       "My Role",
//							Description: pulumi.StringRef("Grant permissions on my_role"),
//							Expression:  "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
//						},
//					},
//				},
//			}, nil)
//			if err != nil {
//				return err
//			}
//			_, err = spanner.NewDatabaseIAMPolicy(ctx, "database", &spanner.DatabaseIAMPolicyArgs{
//				Instance:   pulumi.String("your-instance-name"),
//				Database:   pulumi.String("your-database-name"),
//				PolicyData: pulumi.String(admin.PolicyData),
//			})
//			if err != nil {
//				return err
//			}
//			return nil
//		})
//	}
//
// ```
//
// ## spanner.DatabaseIAMBinding
//
// ```go
// package main
//
// import (
//
//	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/spanner"
//	"github.com/pulumi/pulum


ZO_GAMEPAD_OPTIONS_CATEGORY_SORT_ORDER =
{
    [SETTING_PANEL_CINEMATIC] = 0,
    [SETTING_PANEL_VIDEO] = 10,
    [SETTING_PANEL_AUDIO] = 20,
    [SETTING_PANEL_GAMEPLAY] = 30,
    [SETTING_PANEL_CAMERA] = 40,
    [SETTING_PANEL_INTERFACE] = 50,
    [SETTING_PANEL_NAMEPLATES] = 60,
    [SETTING_PANEL_SOCIAL] = 70,
    [SETTING_PANEL_COMBAT] = 80,
    [SETTING_PANEL_ACCESSIBILITY] = 90,
    [SETTING_PANEL_ACCOUNT] = 100,
}

local SETTING_PANEL_GAMEPAD_CATEGORIES_ROOT = -1

ZO_GamepadOptions = ZO_Object.MultiSubclass(ZO_SharedOptions, ZO_Gamepad_ParametricList_Screen)

function ZO_GamepadOptions:Initialize(control)
    ZO_SharedOptions.Initialize(self)
    local DONT_ACTIVATE_ON_SHOW = false
    ZO_Gamepad_ParametricList_Screen.Initialize(self, control, ZO_GAMEPAD_HEADER_TABBAR_DONT_CREATE, DONT_ACTIVATE_ON_SHOW)
    GAMEPAD_OPTIONS_FRAGMENT = ZO_SimpleSceneFragment:New(control)

    self.isGamepadOptions = true
    self.currentCategory = SETTING_PANEL_GAMEPAD_CATEGORIES_ROOT
    self.settingsNeedApply = false

    self.customCategories = {}

    local function OnDeferredSettingRequestCompleted(eventId, system, settingId, success, result)
        if GAMEPAD_OPTIONS_FRAGMENT:IsShowing() and not self:AreDeferredSettingsForPanelLoading(self.currentCategory) then
            ZO_Dialogs_ReleaseAllDialogsOfName("REQUESTING_ACCOUNT_DATA")
            if system == SETTING_TYPE_ACCOUNT and settingId == ACCOUNT_SETTING_ACCOUNT_EMAIL and result == ACCOUNT_EMAIL_REQUEST_RESULT_SUCCESS_EMAIL_UPDATED then
                ZO_Dialogs_ShowPlatformDialog("ACCOUNT_MANAGEMENT_EMAIL_CHANGED")
            end
            self:RefreshOptionsList()
        end
    end

    control:RegisterForEvent(EVENT_DEFERRED_SETTING_REQUEST_COMPLETED, OnDeferredSettingRequestCompleted)
    control:RegisterForEvent(EVENT_MOST_RECENT_GAMEPAD_TYPE_CHANGED, function() self:RefreshGamepadInfoPanel() end)
    control:RegisterForEvent(EVENT_KEYBINDINGS_LOADED, function() self:RefreshGamepadInfoPanel() end)
end

function ZO_GamepadOptions:InitializeScenes()
    GAMEPAD_OPTIONS_ROOT_SCENE = ZO_Scene:New("gamepad_options_root", SCENE_MANAGER)
    GAMEPAD_OPTIONS_ROOT_SCENE:RegisterCallback("StateChange", function(oldState, newState)
        if newState == SCENE_SHOWING then
            self.currentCategory = SETTING_PANEL_GAMEPAD_CATEGORIES_ROOT
            self:RefreshCategoryList()
            self:RefreshHeader()
            self:SetCurrentList(self.categoryList)
            self:RefreshGamepadInfoPanel()

            KEYBIND_STRIP:AddKeybindButtonGroup(self.rootKeybindDescriptor)
        elseif newState == SCENE_HIDDEN then
            self:DisableCurrentList()

            KEYBIND_STRIP:RemoveKeybindButtonGroup(self.rootKeybindDescriptor)
        end
    end)

    GAMEPAD_OPTIONS_PANEL_SCENE = ZO_Scene:New("gamepad_options_panel", SCENE_MANAGER)
    GAMEPAD_OPTIONS_PANEL_SCENE:RegisterCallback("StateChange", function(oldState, newState)
        if newState == SCENE_SHOWING then
            RefreshSettings()
            self.settingsNeedApply = false
            if ZO_SharedOptions.DoesPanelDisableShareFeatures(self.currentCategory) and DoesPlatformSupportDisablingShareFeatures() then
                DisableShareFeatures()
            end
            local isDeferredLoadi


',
      'джинн | лампа | потереть | сказка марс | мужской символ | мужчина | символ ',
    ),
    Emoji(
      '🧞♀',
      'джинн | лампа | потереть | сказка венера | женский символ | женщина | символ ',
    ),
    Emoji(
      '🧟♂',
      'апокалипсис | живой | зомби | мертвец | страх | страшилка | ужас | Хэллоуин марс | мужской символ | мужчина | символ ',
    ),
    Emoji(
      '🧟♀',
      'апокалипсис | живой | зомби | мертвец | страх | страшилка | ужас | Хэллоуин венера | женский символ | женщина | символ ',
    ),
    Emoji('💆♂',
        'голова | лицо | массаж | массаж головы | массаж лица | процедура | салон | спа | человеку массируют лицо марс | мужской символ | мужчина | символ ',
        hasSkinTone: true),
    Emoji('💆♀',
        'голова | лицо | массаж | массаж головы | массаж лица | процедура | салон | спа | человеку массируют лицо венера | женский символ | женщина | символ ',
        hasSkinTone: true),
    Emoji('💇♂',
        'волосы | косметология | красота | ножницы | обрезать | парикмахер | прическа | салон | стрижка | укоротить | уход марс | мужской символ | мужчина | символ ',
        hasSkinTone: true),
    Emoji('💇♀',
        'волосы | косметология | красота | ножницы | обрезать | парикмахер | прическа | салон | стрижка | укоротить | уход венера | женский символ | женщина | символ ',
        hasSkinTone: true),
    Emoji('🚶♂',
        'гулять | дорога | идет | прогулка | тротуар | ходьба | человек марс | мужской символ | мужчина | символ ',
        hasSkinTone: true),
    Emoji('🚶♀',
        'гулять | дорога | идет | прогулка | тротуар | ходьба | человек венера | женский символ | женщина | символ ',
        hasSkinTone: true),
    Emoji('🏃♂',
        'бег | бежит | марафон | спорт | трусцой | человек марс | мужской символ | мужчина | символ ',
        hasSkinTone: true),
    Emoji('🏃♀',


DOWN = "Отсчет";
CRF_DIFFICULTY = "Сложность";
CRF_EDIT_MODE = "Редактировать";
CRF_HIDE_GROUPS = "Скрыть группы";
CRF_READY_CHECK = "Проверка готовности";
CRF_ROLE_POLL = "Выбор роли";
CRF_SETTINGS = "Параметры";
CRITERIA_COMPLETED = "Выполнено";
CRITERIA_COMPLETED_DATE = "Завершено %s";
CRITERIA_NOT_COMPLETED = "Не выполнено";
CRIT_ABBR = "Крит";
CRIT_CHANCE = "Вероятность крит. удара";
CROSS_FACTION_CLUB_FINDER_SEARCH_OPTION = "Все фракции";
CROSS_FACTION_COMMUNITIES_HELPTIP = "Активировать режим \"Все фракции\" можно в настройках";
CROSS_FACTION_GROUP_FINDER_HELPTIP = "Большинство подземелий можно проходить|nс межфракционными группами!";
CROSS_FACTION_INVITE_HELPTIP = "Приглашайте друзей из противоположной фракции и вместе проходите контент в специальных областях";
CROSS_FACTION_INVITE_TOOLTIP = "Объединившись с этим игроком из фракции %s, вы сможете участвовать в различных сценариях.\n\n|cffffffffДля совместной игры доступны:|r\n- подземелья (заранее собранные группы)\n- рейды (участие без системы очереди)\n- нерейтинговые и рейтинговые PvP-бои\n- вылазки\n\n|cffffffffДля совместной игры недоступен:|r\n- контент вне помещений";
CROSS_FACTION_PLAYER_NAME = "|W%s (%s)|w";
CROSS_FACTION_PVP_ERROR = "Недоступно в межфракционной группе.";
CROSS_FACTION_RAID_DUNGEON_FINDER_ERROR = "Недоступно в межфракционной группе. Вы можете проходить рейды с группой, созданной без системы очереди.";
CROSS_FACTION_RAID_DUNGEON_FINDER_NOT_ENOUGH_MEMBERS_ERROR = "Недостаточно участников, чтобы встать в очередь с межфракционной группой.";
CRUSHING_TRAILER = "(сокрушительный)";
CR_AVOIDANCE_TOOLTIP = "Уменьшает урон от заклинаний с действием по области.\n\nВероятность избегания: %s [+%.2F%%]";
CR_BLOCK_TOOLTIP = "Блокирование уменьшает получаемый от атаки урон на %0.2f%%.\n|cff888888(В бою с равным по силе врагом)|r";
CR_CRIT_MELEE_TOOLTIP = "Вероятность нанести допол


.5-48-48V144c0-26.5 21.5-48 48-48z"],"rectangle-xmark":[512,512,[62164,"rectangle-times","times-rectangle","window-close"],"f410","M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"],"baht-sign":[320,512,[],"e0ac","M144 0c-17.7 0-32 14.3-32 32V64H37.6C16.8 64 0 80.8 0 101.6V224v41.7V288 406.3c0 23 18.7 41.7 41.7 41.7H112v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112V32c0-17.7-14.3-32-32-32zM112 128v96H64V128h48zm64 96V128c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64v96H64V288h48zm64 96V288h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H176z"],"book-open":[576,512,[128214,128366],"f518","M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"],"book-journal-whills":[448,512,["journal-whills"],"f66a","M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-


xPerZoomLevel * 4),
		    d3 = 4 * Math.log(2 / (1 + Math.exp(-Math.abs(d2)))) / Math.LN2,
		    d4 = snap ? Math.ceil(d3 / snap) * snap : d3,
		    delta = map._limitZoom(zoom + (this._delta > 0 ? d4 : -d4)) - zoom;

		this._delta = 0;
		this._startTime = null;

		if (!delta) { return; }

		if (map.options.scrollWheelZoom === 'center') {
			map.setZoom(zoom + delta);
		} else {
			map.setZoomAround(this._lastMousePos, zoom + delta);
		}
	}
});

// @section Handlers
// @property scrollWheelZoom: Handler
// Scroll wheel zoom handler.
L.Map.addInitHook('addHandler', 'scrollWheelZoom', L.Map.ScrollWheelZoom);

/*
 * Extends the event handling code with double tap support for mobile browsers.
 */

L.extend(L.DomEvent, {

	_touchstart: L.Browser.msPointer ? 'MSPointerDown' : L.Browser.pointer ? 'pointerdown' : 'touchstart',
	_touchend: L.Browser.msPointer ? 'MSPointerUp' : L.Browser.pointer ? 'pointerup' : 'touchend',

	// inspired by Zepto touch code by Thomas Fuchs
	addDoubleTapListener: function (obj, handler, id) {
		var last, touch,
		    doubleTap = false,
		    delay = 250;

		function onTouchStart(e) {
			var count;

			if (L.Browser.pointer) {
				count = L.DomEvent._pointersCount;
			} else {
				count = e.touches.length;
			}

			if (count > 1) { return; }

			var now = Date.now(),
			    delta = now - (last || now);

			touch = e.touches ? e.touches[0] : e;
			doubleTap = (delta > 0 && delta <= delay);
			last = now;
		}

		function onTouchEnd() {
			if (doubleTap && !touch.cancelBubble) {
				if (L.Browser.pointer) {
					// work around .type being readonly with MSPointer* events
					var newTouch = {},
					    prop, i;

					for (i in touch) {
						prop = touch[i];
						newTouch[i] = prop && prop.bind ? prop.bind(touch) : prop;
					}
					touch = newTouch;
				}
				touch.type = 'dblclick';
				handler(touch);
				last = null;
			}
		}

		var pre = '_leaflet_',
		    touchstart = this._touchstart,
		    touchend = this._touchend;

		obj[pre + touchstart + id] = onTouchStart;
		obj[pre + touchend + id] = onTouchEnd;
		obj[pre + 'dblclick' + id] = handler;

		obj.addEventListener(touchstart, onTouchStart, false);
		obj.addEventListener(touchend, onTouchEnd, false);

		// On some platforms (notably, chrome on win10 + touchscreen + mouse),
		// the browser doesn't fire touchend/pointerup events but does fire
		// native dblclicks. See #4127.
		if (!L.Browser.edge) {
			obj.addEventListener('dblclick', handler, false);
		}

		return this;
	},

	removeDoubleTapListener: function (obj, id) {
		var pre = '_leaflet_',
		    touchstart = obj[pre + this._touchstart + id],
		    touchend = obj[pre + this._touchend + id],
		    dblclick = obj[pre + 'dblclick' + id];

		obj.removeEventListener(this._touchstart, touchstart, false);
		obj.removeEventListener(this._touchend, touchend, false);
		if (!L.Browser.edge) {
			obj.removeEventListener('dblclick', dblclick, false);
		}

		return this;
	}
});

/*
 * Extends L.DomEvent to


RuleManager = {}

function RuleManager:buildWidget()

	self.widget = guiManager:createWidget()

	local setup = function()

		self.ruleTree = CEGUI.toTree(self.widget:getWindow("RuleList"))
		self.ruleTree:subscribeEvent("SelectionChanged", self.RuleList_SelectionChanged, self)

		self.codecTypeCombobox = CEGUI.toCombobox(self.widget:getWindow("CodecType"))

		local item = Ember.OgreView.Gui.ColouredListItem.new("XML", 0)
		self.codecTypeCombobox:addItem(item)
		item = Ember.OgreView.Gui.ColouredListItem.new("Bach", 1)
		self.codecTypeCombobox:addItem(item)
		item = Ember.OgreView.Gui.ColouredListItem.new("Packed", 2)
		self.codecTypeCombobox:addItem(item)
		self.codecTypeCombobox:setItemSelectState(0, true)
		self.codecTypeCombobox:setSingleClickEnabled(true)
		self.codecTypeCombobox:subscribeEvent("ListSelectionChanged", function()
			local item = self.codecTypeCombobox:getSelectedItem()
			if item then
				local selectId = item:getID()
				if selectId == 0 then
					self.codec = "xml"
				elseif selectId == 1 then
					self.codec = "bach"
				else
					self.codec = "packed"
				end
				self:printRule()
			end
		end)

		self.ruleInfoText = CEGUI.toMultiLineEditbox(self.widget:getWindow("RuleInfoText"))

		self.ruleAdapter = Ember.OgreView.Gui.Adapters.Eris.RuleTreeAdapter.new(self.avatar:getConnection(), self.avatar:getId(), self.ruleTree)
		local loadingOverlay = self.widget:getWindow("LoadingOverlay")
		local refreshButton = self.widget:getWindow("Refresh")

		local refresh = function()
			refreshButton:setEnabled(false)
			self.ruleAdapter:refresh("root")

			loadingOverlay:setVisible(true)
			loadingOverlay:setText("Getting rules from server.")

			connect(self.connectors, self.ruleAdapter.EventNewRuleReceived, function(numberOfRules)
				loadingOverlay:setText("Getting rules from server.\n" .. numberOfRules .. " rules received.")
			end
			)
			connect(self.connectors, self.ruleAdapter.EventAllRulesReceived, function()
				loadingOverlay:setVisible(false)
				refreshButton:setEnabled(true)
			end
			)
		end

		refresh()

		self.widget:getWindow("Refresh"):subscribeEvent("Clicked", refresh)

		self.widget:getWindow("SendToServerButton"):subscribeEvent("Clicked", self.SendToServerButton_Clicked, self)

		local ruleUpdateOverlay = self.widget:getWindow("RuleUpdateOverlay")
		ruleUpdateOverlay:subscribeEvent("MouseEntersSurface",


    'city': 'BELLE ROSE',
    'loc': [-91.04435100000001, 30.025955],
    'pop': 4842,
    'state': 'LA'
  },
  {
    '_id': '70342',
    'city': 'BERWICK',
    'loc': [-91.205662, 29.698786],
    'pop': 17631,
    'state': 'LA'
  },
  {
    '_id': '70343',
    'city': 'BOURG',
    'loc': [-90.60866, 29.548489],
    'pop': 5310,
    'state': 'LA'
  },
  {
    '_id': '70344',
    'city': 'CHAUVIN',
    'loc': [-90.59795200000001, 29.463401],
    'pop': 6430,
    'state': 'LA'
  },
  {
    '_id': '70345',
    'city': 'CUT OFF',
    'loc': [-90.339298, 29.523188],
    'pop': 13268,
    'state': 'LA'
  },
  {
    '_id': '70346',
    'city': 'DONALDSONVILLE',
    'loc': [-90.99702499999999, 30.101799],
    'pop': 11265,
    'state': 'LA'
  },
  {
    '_id': '70353',
    'city': 'DULAC',
    'loc': [-90.655655, 29.359814],
    'pop': 1683,
    'state': 'LA'
  },
  {
    '_id': '70354',
    'city': 'GALLIANO',
    'loc': [-90.29805399999999, 29.431125],
    'pop': 3669,
    'state': 'LA'
  },
  {
    '_id': '70355',
    'city': 'GHEENS',
    'loc': [-90.484855, 29.707591],
    'pop': 452,
    'state': 'LA'
  },
  {
    '_id': '70356',
    'city': 'GIBSON',
    'loc': [-90.977637, 29.662522],
    'pop': 1642,
    'state': 'LA'
  },
  {
    '_id': '70357',
    'city': 'GOLDEN MEADOW',
    'loc': [-90.263932, 29.382054],
    'pop': 4075,
    'state': 'LA'
  },
  {
    '_id': '70358',
    'city': 'GRAND ISLE',
    'loc': [-90.00880100000001, 29.22973],
    'pop': 1455,
    'state': 'LA'
  },
  {
    '_id': '70359',
    'city': 'GRAY',
    'loc': [-90.78071, 29.69034],
    'pop': 4755,
    'state': 'LA'
  },
  {
    '_id': '70360',
    'city': 'HOUMA',
    'loc': [-90.754808, 29.59433],
    'pop': 18335,
    'state': 'LA'
  },
  {
    '_id': '70363',
    'city': 'HOUMA',
    'loc': [-90.69166800000001, 29.560137],
    'pop': 23618,
    'state': 'LA'
  },
  {
    '_id': '70364',
    'city': 'HOUMA',
    'loc': [-90.72680099999999, 29.629887],
    'pop': 25330,
    'state': 'LA'
  },
  {
    '_id': '70372',
    'city': 'LABADIEVILLE',
    'loc': [-90.961319, 29.834458],
    'pop': 2856,
    'state': 'LA


nt-size: 14px;
  line-height: 26px;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.team .team-member:hover .social {
  opacity: 1;
}

/*--------------------------------------------------------------
# Team 2 Section
--------------------------------------------------------------*/
.team-2 {
  --default-color: #ffffff;
}

.team-2 .member {
  text-align: center;
  position: relative;
  height: 100%;
}

.team-2 .member .member-info {
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0;
  transition: 0.2s;
}

.team-2 .member .member-info-content {
  margin-top: -50px;
  transition: margin 0.2s;
}

.team-2 .member:hover .member-info {
  background: rgba(0, 0, 0, 0.6);
  opacity: 1;
  transition: 0.4s;
}

.team-2 .member:hover .member-info-content {
  margin-top: 0;
  transition: margin 0.4s;
}

.team-2 .member h4 {
  color: var(--contrast-color);
  font-weight: 700;
  margin-bottom: 2px;
  font-size: 18px;
}

.team-2 .member span {
  font-style: italic;
  display: block;
  font-size: 13px;
}

.team-2 .member .social {
  margin-top: 15px;
}

.team-2 .member .social a {
  transition: 0.3s;
  color: var(--default-color);
}

.team-2 .member .social a:hover {
  color: var(--accent-color);
}

.team-2 .member .social i {
  font-size: 18px;
  margin: 0 2px;
}

/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact .info-item+.info-item {
  margin-top: 40px;
}

.contact .info-item i {
  color: var(--contrast-color);
  background: var(--accent-color);
  font-size: 20px;
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
}

.contact .info-item h3 {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
}

.contact .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
}

.contact .php-email-form {
  height: 100%;
}

.contact .php-email-form input[type=text],
.contact .php-email-form input[type=email],
.contact .php-email-form textarea {
  font-size: 14px;
  padding: 10px 15px;
  box-shadow: none;
  border-radius: 0;
  color: var(--default-color);
  background-color: color-mix(in srgb, var(--background-color), transparent 50%);
  border-color: color-mix(in srgb, var(--default-color), transparent 80%);
}

.contact .php-email-form input[type=text]:focus,
.contact .php-email-form input[type=email]:focus,
.contact .php-email-form textarea:focus {
  border-color: var(--accent-color);
}

.contact .php-email-form input


   $t8, 0x01A0($s0)           ## 000001A0
/* 025E4 808C3774 3C08808D */  lui     $t0, %hi(D_808CA3F8)       ## $t0 = 808D0000
/* 025E8 808C3778 2508A3F8 */  addiu   $t0, $t0, %lo(D_808CA3F8)  ## $t0 = 808CA3F8
/* 025EC 808C377C 0018C880 */  sll     $t9, $t8,  2
/* 025F0 808C3780 0338C823 */  subu    $t9, $t9, $t8
/* 025F4 808C3784 0019C880 */  sll     $t9, $t9,  2
/* 025F8 808C3788 3C014040 */  lui     $at, 0x4040                ## $at = 40400000
/* 025FC 808C378C 44813000 */  mtc1    $at, $f6                   ## $f6 = 3.00
/* 02600 808C3790 03284821 */  addu    $t1, $t9, $t0
/* 02604 808C3794 AFA9005C */  sw      $t1, 0x005C($sp)
/* 02608 808C3798 14400048 */  bne     $v0, $zero, .L808C38BC
/* 0260C 808C379C E60601EC */  swc1    $f6, 0x01EC($s0)           ## 000001EC
/* 02610 808C37A0 3C0140A0 */  lui     $at, 0x40A0                ## $at = 40A00000
/* 02614 808C37A4 44814000 */  mtc1    $at, $f8                   ## $f8 = 5.00
/* 02618 808C37A8 C60001EC */  lwc1    $f0, 0x01EC($s0)           ## 000001EC
/* 0261C 808C37AC 3C013E80 */  lui     $at, 0x3E80                ## $at = 3E800000
/* 02620 808C37B0 44818000 */  mtc1    $at, $f16                  ## $f16 = 0.25
/* 02624 808C37B4 46080282 */  mul.s   $f10, $f0, $f8
/* 02628 808C37B8 44802000 */  mtc1    $zero, $f4                 ## $f4 = 0.00
/* 0262C 808C37BC 260401E4 */  addiu   $a0, $s0, 0x01E4           ## $a0 = 000001E4
/* 02630 808C37C0 46100482 */  mul.s   $f18, $f0, $f16
/* 02634 808C37C4 3C063F80 */  lui     $a2, 0x3F80                ## $a2 = 3F800000
/* 02638 808C37C8 E7A40010 */  swc1    $f4, 0x0010($sp)
/* 0263C 808C37CC 44055000 */  mfc1    $a1, $f10
/* 02640 808C37D0 44079000 */  mfc1    $a3, $f18
/* 02644 808C37D4 0C01E0C4 */  jal     Math_SmoothScaleMaxMinF

/* 02648 808C37D8 00000000 */  nop
/* 0264C 808C37DC 8FAA005C */  lw      $t2, 0x005C($sp)
/* 02650 808C37E0 44803000 */  mtc1    $zero, $f6                 ## $f6 = 0.00
/* 02654 808C37E4 26040024 */  addiu   $a0, $s0, 0x0024           ## $a0 = 00000024
/* 02658 808C37E8 8E


rue, false, true, false, true, false,
	]);
	// 0 is below 1 (V)
	// 1 is above 2 (V)
	// 2 is above 3 (M)
	// same with every face N+4
	expect(adjacentOrders).toMatchObject({
		"0 1": 2, "1 2": 1, "2 3": 1, "4 5": 2, "5 6": 1, "6 7": 1,
	});
});

test("solveFlatAdjacentEdges, strip weave", () => {
	const foldfile = fs.readFileSync("./tests/files/fold/strip-weave.fold", "utf-8");
	const fold = JSON.parse(foldfile);
	const folded = ear.graph.getFramesByClassName(fold, "foldedForm")[0];
	ear.graph.populate(folded);

	const faces_winding = ear.graph.makeFacesWinding(folded);
	const adjacentOrders = ear.layer.solveFlatAdjacentEdges(folded, faces_winding);

	expect(faces_winding).toMatchObject([
		true, false, true, false, false, true, false,
	]);
	expect(adjacentOrders).toMatchObject({
		"0 1": 2, "0 4": 2, "1 2": 1, "2 3": 2, "4 5": 1, "5 6": 2,
	});
});

test("solveFlatAdjacentEdges, zig-zag panels", () => {
	const foldfile = fs.readFileSync("./tests/files/fold/panels-zig-zag.fold", "utf-8");
	const fold = JSON.parse(foldfile);
	const folded = ear.graph.getFramesByClassName(fold, "foldedForm")[0];
	ear.graph.populate(folded);

	const faces_winding = ear.graph.makeFacesWinding(folded);
	const adjacentOrders = ear.layer.solveFlatAdjacentEdges(folded, faces_winding);

	expect(faces_winding).toMatchObject([true, true, false, true, false]);
	expect(adjacentOrders).toMatchObject({
		"0 4": 2, "1 2": 1, "2 3": 1, "3 4": 1,
	});
});

test("solveFlatAdjacentEdges, triangle strip", () => {
	const fileStrip1 = fs.readFileSync("./tests/files/fold/triangle-strip.fold", "utf-8");
	const fileStrip2 = fs.readFileSync("./tests/files/fold/triangle-strip-2.fold", "utf-8");
	const foldStrip1 = JSON.parse(fileStrip1);
	const foldStrip2 = JSON.parse(fileStrip2);
	const folded1 = ear.graph.getFramesByClassName(foldStrip1, "foldedForm")[0];
	const folded2 = ear.graph.getFramesByClassName(foldStrip2, "foldedForm")[0];
	ear.graph.populate(folded1);
	ear.graph.populate(folded2);

	const faces_winding1 = ear.graph.makeFacesWinding(folded1);
	const adjacentOrders1 = ear.layer.solveFlatAdjacentEdges(folded1, faces_winding1);
	const faces_winding2 = ear.graph.makeFacesWinding(folded2);
	const adjacentOrders2 = ear.layer.solveFlatAdjacentEdges(folded2, faces_winding2);

	expect(faces_winding1).toMatchObject([
		true, false, false, true, true, false, false, true, true, false, false, true, true, false,
	]);
	expect(adjacentOrders1).toMatchObject({
		"0 1": 2, "10 11": 2, "12 13": 2, "2 3": 2, "4 5": 2, "6 7": 2, "8 9": 2,
	});
	expect(faces_winding2).toMatchObject([
		true,


 input.xforms-input-input, .fr-width-4digits select  { width: 47px; .xforms-mobile& { width: 54px } }
        }

        .xforms-help-popover {
            // Reset to Form Runner default, as those properties as otherwise influenced by the place where the popover
            // is used, e.g. they won't be correct when the popover is for a section title
            font-size:   @frFontSize;
            line-height: @baseLineHeight;
            // Override Bootstrap's default z-index (1010) to be above the navbar which is at 1030
            z-index: 1040;
        }
    }

    // Menu is placed at the top-level in the markup
    .dropdown-menu {

        li .xforms-output-output {
            white-space: nowrap; // https://github.com/orbeon/orbeon-forms/issues/3702
        }

        li.disabled .xforms-output-output {
            color: @minGrayText;
        }

        i {
            margin-right: 5px;
        }
    }

    // ***** View, PDF, email ******************************************************************************************

    .xforms-form {
        // Make rule a bit stronger to make sure help/alert are hidden (hint are now not output at all)
        .fr-mode-view, .fr-mode-pdf {

            .fr-body {                                          // Stronger rule for https://github.com/orbeon/orbeon-forms/issues/3705
                // 2017-05-22: removed `.xforms-hint` for https://github.com/orbeon/orbeon-forms/issues/3118
                // 2019-03-18: removed `.xforms-alert` for https://github.com/orbeon/orbeon-forms/issues/3969
                .xforms-help {
                    display: none;
                }
            }

            .fr-repeat-multiple-rows {
                .fr-grid-head { display: none }             // Hide the top header row, as we don't need the space for the *add* icon in view mode
                border-top: none;                           // Avoid double border at the top
            }
        }
    }

    .fr-mode-view, .fr-mode-pdf {

        .xforms-textarea.xforms-static > pre, .xbl-fr-tinymce .xforms-output.xforms-mediatype-text-html > .xforms-output-output {

            font-family: @sansFontFamily;   // use regular font, not monospaced font
            cursor: not-allowed;

            overflow-wrap: break-word;
            // https://github.com/orbeon/orbeon-forms/issues/5716
            word-wrap: break-word; // keep also `word-wrap`, even if it's deprecated in favor of `overflow-wrap`, for the PDF renderer
            word-break: normal;             // Bootstrap overrides word-break (`word-break` is generally used for for CJK)

            min-height: @controlsHeight;
            box-sizing: border-box;
            padding: 4px 6px;
            margin: 0;
        }

        .xforms-textarea.xforms-static > pre {
            white-space: pre-wrap;
        }

        .xbl-fr-tinymce .xforms-output.xforms-mediatype-text-html {
            padding: 0; // reset padding added in form-runner-bootstrap-override.less
        }
    }

    // In view mode, in case the fr:tinymce output contains `pre` elements, we enable horizontal scrolling like in the edit mode.
    // https://github.com/orbeon/orbeon-forms/issues/3974
    .fr-mode-view {
        .xbl-fr-tinymce .xforms-output.xforms-mediatype-text-html > .xforms-output-output


        if (this === other) return true
        if (other == null || this::class != other::class) return false
        other as AssetDataSource
        return fileName == other.fileName
    }

    override fun hashCode(): Int {
        return fileName.hashCode()
    }

    override fun toString(): String = "AssetDataSource('$fileName')"
}/*
 * Copyright (C) 2024 panpf <panpfpanpf@outlook.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

@file:Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING")

package com.github.panpf.sketch.decode

import android.os.Build
import com.github.panpf.sketch.ColorType
import com.github.panpf.sketch.decode.internal.ImageFormat

/**
 * Build a [BitmapColorType] with the specified [colorType]
 *
 * @see com.github.panpf.sketch.core.android.test.decode.BitmapColorTypeAndroidTest.testBitmapColorType
 */
fun BitmapColorType(colorType: ColorType): BitmapColorType = FixedColorType(colorType)

/**
 * Low quality bitmap config. RGB_565 is preferred, followed by ARGB_8888
 *
 * @see com.github.panpf.sketch.core.android.test.decode.BitmapColorTypeAndroidTest.testLowQualityColorType
 */
actual data object LowQualityColorType : BitmapColorType {

    actual override val key: String = "LowQuality"

    actual override fun getColorType(mimeType: String?, isOpaque: Boolean): PlatformColorType? {
        return if (ImageFormat.parseMimeType(mimeType) == ImageFormat.JPEG || isOpaque) {
            PlatformColorType(ColorType.RGB_565)
        } else {
            null
        }
    }

    actual override fun toString(): String = "LowQualityColorType"
}

/**
 * High quality bitmap config. RGBA_F16 is preferred, followed by ARGB_8888
 *
 * @see com.github.panpf.sketch.core.android.test.decode.BitmapColorTypeAndroidTest.testHighQualityColorType
 */
actual data object HighQualityColorType : BitmapColorType {

    actual override val key: String = "HighQuality"

    actual override fun getColorType(mimeType: String?, isOpaque: Boolean): PlatformColorType? {
        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            PlatformColorType(ColorType.RGBA_F16)
        } else {
            null
        }
    }

    actual override fun toString(): String = "HighQualityColorType"
}

/**
 * Fixed bitmap config, whatever mimeTye is will return the specified config
 *
 * @see com.github.panpf.sketch.core.android.test.decode.BitmapColorTypeAndroidTest.testFixedColorType
 */
actual data class FixedColorType actual constructor(val value: String) : BitmapColorType {

    constructor(colorType: ColorType) : this(colorType.name)

    actual override val key: String = "Fixed($value)"

    actual override fun getColorType(mimeType: String?, isOpaque: Boolean): PlatformColorType? {
        val config = ColorType.valueOf(this.value)
        return PlatformColorType(config)
    }

    actual override fun toString(): String = "FixedColorType($value)"
}/*
 * Copyright (C) 2024 panpf <panpfpanpf@outlook.com>
 *
 * Licensed under the Apache Licens


return nil
			}
		}
		file_chromadb_proto_chroma_proto_msgTypes[32].Exporter = func(v any, i int) any {
			switch v := v.(*QueryVectorsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_chromadb_proto_chroma_proto_msgTypes[33].Exporter = func(v any, i int) any {
			switch v := v.(*QueryVectorsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_chromadb_proto_chroma_proto_msgTypes[34].Exporter = func(v any, i int) any {
			switch v := v.(*VectorQueryResults); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_chromadb_proto_chroma_proto_msgTypes[35].Exporter = func(v any, i int) any {
			switch v := v.(*VectorQueryResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_chromadb_proto_chroma_proto_msgTypes[3].OneofWrappers = []any{}
	file_chromadb_proto_chroma_proto_msgTypes[4].OneofWrappers = []any{}
	file_chromadb_proto_chroma_proto_msgTypes[7].OneofWrappers = []any{
		(*UpdateMetadataValue_StringValue)(nil),
		(*UpdateMetadataValue_IntValue)(nil),
		(*UpdateMetadataValue_FloatValue)(nil),
		(*UpdateMetadataValue_BoolValue)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[9].OneofWrappers = []any{}
	file_chromadb_proto_chroma_proto_msgTypes[12].OneofWrappers = []any{}
	file_chromadb_proto_chroma_proto_msgTypes[15].OneofWrappers = []any{
		(*WhereDocument_Direct)(nil),
		(*WhereDocument_Children)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[18].OneofWrappers = []any{
		(*Where_DirectComparison)(nil),
		(*Where_Children)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[19].OneofWrappers = []any{
		(*DirectComparison_SingleStringOperand)(nil),
		(*DirectComparison_StringListOperand)(nil),
		(*DirectComparison_SingleIntOperand)(nil),
		(*DirectComparison_IntListOperand)(nil),
		(*DirectComparison_SingleDoubleOperand)(nil),
		(*DirectComparison_DoubleListOperand)(nil),
		(*DirectComparison_BoolListOperand)(nil),
		(*DirectComparison_SingleBoolOperand)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[25].OneofWrappers = []any{
		(*SingleIntComparison_GenericComparator)(nil),
		(*SingleIntComparison_NumberComparator)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[28].OneofWrappers = []any{
		(*SingleDoubleComparison_GenericComparator)(nil),
		(*SingleDoubleComparison_NumberComparator)(nil),
	}
	file_chromadb_proto_chroma_proto_msgTypes[35].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_chromadb_proto_chroma_proto_rawDes


sState {
//   final List<SolvedProblems>? retrievedSolutionList;

//   SolutionsLoaded(this.retrievedSolutionList);
// }

class NoProblemsAvailable extends ProblemsState {}
import 'package:education_app/core/theming/app_colors.dart';
import 'package:education_app/features/problems/logic/problems_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:image_picker/image_picker.dart';

import '../../../../core/functions/permission_handler.dart';

cameraOrGalleryDialog(BuildContext blocContext) {
  return showDialog(
    context: blocContext,
    builder: (BuildContext context) {
      return SimpleDialog(
        backgroundColor: AppColors.secondaryColor,
        children: [
          SimpleDialogOption(
            onPressed: () async {
              await requestCameraPermission();
              BlocProvider.of<ProblemsCubit>(blocContext)
                  .pickImage(ImageSource.camera);
              Navigator.pop(context);
            },
            padding: const EdgeInsets.all(20),
            child: Text(
              "From Camera",
              style: TextStyle(
                fontSize: 18.sp,
              ),
            ),
          ),
          SimpleDialogOption(
            onPressed: () {
              BlocProvider.of<ProblemsCubit>(blocContext)
                  .pickImage(ImageSource.gallery);
              Navigator.pop(context);
            },
            padding: EdgeInsets.all(20.w),
            child: Text(
              "From Gallary",
              style: TextStyle(
                fontSize: 18.sp,
              ),
            ),
          ),
        ],
      );
    },
  );
}
import 'package:json_annotation/json_annotation.dart';
part 'answer.g.dart';

@JsonSerializable()
class Answer {
  String? answer;
  String? solutionImgURL;
  String? teacherNotes;
  String status;
  bool seen;
  Answer(
      {this.answer,
      this.solutionImgURL,
      this.teacherNotes,
      this.status = "pending",
      this.seen = false});

  factory Answer.fromJson(Map<String, dynamic>? json) =>
      _$AnswerFromJson(json!);

  Map<String, dynamic> toJson() => _$AnswerToJson(this);
}
class HiveService{

  HiveService hiveService = HiveService();

  closeBoxes (){
    hiveService.closeBoxes();
  }

}// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'api_service.dart';

// **************************************************************************
// RetrofitGenerator
// **************************************************************************

// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers

class _ApiService implements ApiService {
  _ApiService(
    this._dio, {
    this.baseUrl,
  }) {
    baseUrl ??= 'https://bulten360.com/wp-json/';
  }

  final Dio _dio;

  String? baseUrl;

  @override
  Future<List<WpArtircle>> getLastArticles(
    perPage,
    page,
  ) async {
    const _extra = <String, dynamic>{};
    final queryParameters = <String, dynamic>{
      r'per_page': perPage,
      r'page': page,
    };
    final _headers = <String, dynamic>{};
    final Map<String, dynamic>? _data = null;
    final _result = await _dio
        .fetch<List<dynamic>>(_setStreamType<List<WpArtircle>>(Options(
      method: 'GET',
      headers: _headers,
      extra: _extra,
    )
            .compose(
              _dio.options,
              'wp/v2/posts',
              queryParameters: queryParameters,


xe
/* 8046D20C 0046A14C  38 A0 00 08 */	li r5, 8
/* 8046D210 0046A150  38 80 00 05 */	li r4, 5
/* 8046D214 0046A154  38 60 00 00 */	li r3, 0
/* 8046D218 0046A158  38 00 30 52 */	li r0, 0x3052
/* 8046D21C 0046A15C  98 C1 00 08 */	stb r6, 8(r1)
/* 8046D220 0046A160  98 A1 00 0A */	stb r5, 0xa(r1)
/* 8046D224 0046A164  98 81 00 0B */	stb r4, 0xb(r1)
/* 8046D228 0046A168  98 61 00 09 */	stb r3, 9(r1)
/* 8046D22C 0046A16C  90 01 00 0C */	stw r0, 0xc(r1)
/* 8046D230 0046A170  48 00 00 EC */	b .L_8046D31C
.L_8046D234:
/* 8046D234 0046A174  3C 60 80 4A */	lis r3, lbl_8049DA08@ha
/* 8046D238 0046A178  3C A0 80 4A */	lis r5, lbl_8049DA1C@ha
/* 8046D23C 0046A17C  38 63 DA 08 */	addi r3, r3, lbl_8049DA08@l
/* 8046D240 0046A180  38 80 00 3E */	li r4, 0x3e
/* 8046D244 0046A184  38 A5 DA 1C */	addi r5, r5, lbl_8049DA1C@l
/* 8046D248 0046A188  4C C6 31 82 */	crclr 6
/* 8046D24C 0046A18C  4B BB D3 F5 */	bl panic_f__12JUTExceptionFPCciPCce
/* 8046D250 0046A190  48 00 00 CC */	b .L_8046D31C
.L_8046D254:
/* 8046D254 0046A194  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 8046D258 0046A198  2C 00 00 01 */	cmpwi r0, 1
/* 8046D25C 0046A19C  41 82 00 3C */	beq .L_8046D298
/* 8046D260 0046A1A0  40 80 00 10 */	bge .L_8046D270
/* 8046D264 0046A1A4  2C 00 00 00 */	cmpwi r0, 0
/* 8046D268 0046A1A8  40 80 00 14 */	bge .L_8046D27C
/* 8046D26C 0046A1AC  48 00 00 74 */	b .L_8046D2E0
.L_8046D270:
/* 8046D270 0046A1B0  2C 00 00 03 */	cmpwi r0, 3
/* 8046D274 0046A1B4  40 80 00 6C */	bge .L_8046D2E0
/* 8046D278 0046A1B8  48 00 00 44 */	b .L_8046D2BC
.L_8046D27C:
/* 8046D27C 0046A1BC  38 80 00 64 */	li r4, 0x64
/* 8046D280 0046A1C0  38 60 00 46 */	li r3, 0x46
/* 8046D284 0046A1C4  38 00 00 3C */	li r0, 0x3c
/* 8046D288 0046A1C8  98 81 00 08 */	stb r4, 8(r1)
/* 8046D28C 0046A1CC  98 61 00 0B */	stb r3, 0xb(r1)
/* 8


  test_idx_i=split_idx[train_num+valid_num:]

    idx_i=torch.arange(num_nodes)

    if os.path.exists(data_path):
        edge_index_i=torch.load(data_path)
        # f=open(data_path,'rb')
        # edge_index_i=pkl.load(f)
    else:
        edge_index_i, _ = subgraph(idx_i, edge_index, num_nodes=total_nodes, relabel_nodes=False)

    x_i=node_feat[:num_nodes]
    y_i=node_labels[:num_nodes]

    print(f'train new: {train_idx_i.shape}')
    print(f'valid new: {valid_idx_i.shape}')
    print(f'test new: {test_idx_i.shape}')

    dataset = NCDataset('ogbn-papers100M')
    dataset.graph = dict()
    dataset.graph['edge_index']=edge_index_i
    dataset.graph['node_feat'] = x_i
    dataset.graph['num_nodes'] = num_nodes
    dataset.label = y_i

    def get_idx_split():
        split_idx = {
            'train': train_idx_i,
            'valid': valid_idx_i,
            'test': test_idx_i,
        }
        return split_idx

    dataset.load_fixed_splits = get_idx_split

    folder=os.path.join(data_dir, 'ogbn_papers100M')
    if not os.path.exists(folder):
        os.mkdir(folder)
    if not os.path.exists(data_path):
        torch.save(edge_index_i,data_path)
    # f=open(data_path,'wb')
    # pkl.dump(edge_index_i,f)

    return dataset

if __name__=='__main__':
    # load_papers100M('../data')
    papers100M_sub('../../data')


es/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package mttrigger

import (
	"context"
	"errors"
	"fmt"

	"go.uber.org/zap"
	corev1 "k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/api/equality"
	apierrs "k8s.io/apimachinery/pkg/api/errors"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/client-go/dynamic"
	"k8s.io/client-go/kubernetes"
	corev1listers "k8s.io/client-go/listers/core/v1"
	"k8s.io/utils/pointer"
	"knative.dev/pkg/apis"
	"knative.dev/pkg/network"

	duckv1 "knative.dev/pkg/apis/duck/v1"
	"knative.dev/pkg/controller"
	"knative.dev/pkg/logging"
	pkgreconciler "knative.dev/pkg/reconciler"
	"knative.dev/pkg/resolver"
	"knative.dev/pkg/system"

	eventingduckv1 "knative.dev/eventing/pkg/apis/duck/v1"
	"knative.dev/eventing/pkg/apis/eventing"
	eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
	"knative.dev/eventing/pkg/apis/feature"
	messagingv1 "knative.dev/eventing/pkg/apis/messaging/v1"
	"knative.dev/eventing/pkg/auth"
	"knative.dev/eventing/pkg/broker/filter"
	clientset "knative.dev/eventing/pkg/client/clientset/versioned"
	eventinglisters "knative.dev/eventing/pkg/client/listers/eventing/v1"
	messaginglisters "knative.dev/eventing/pkg/client/listers/messaging/v1"
	"knative.dev/eventing/pkg/duck"
	"knative.dev/eventing/pkg/eventingtls"
	"knative.dev/eventing/pkg/reconciler/broker/resources"
	"knative.dev/eventing/pkg/reconciler/sugar/trigger/path"
)

var brokerGVK = eventingv1.SchemeGroupVersion.WithKind("Broker")

const (
	// Name of the corev1.Events emitted from the Trigger reconciliation process.
	subscriptionDeleteFailed = "SubscriptionDeleteFailed"
	subscriptionCreateFailed = "SubscriptionCreateFailed"
	subscriptionGetFailed    = "SubscriptionGetFailed"
)

type Reconciler struct {
	eventingClientSet clientset.Interface
	dynamicClientSet  dynamic.Interface
	kubeclient        kubernetes.Interface

	// listers index properties about resources
	subscriptionLister   messaginglisters.SubscriptionLister
	brokerLister         eventinglisters.BrokerLister
	triggerLister        eventinglisters.TriggerLister
	configmapLister      corev1listers.ConfigMapLister
	secretLister         corev1listers.SecretLister
	serviceAccountLister corev1listers.ServiceAccountLister

	// Dynamic tracker to track Sources. In particular, it tracks the dependency between Triggers and Sources.
	sourceTracker duck.ListableTracker

	// Dynamic tracker to track AddressableTypes. In particular, it tracks Trigger subscribers.
	uriResolver *resolver.URIResolver
	impl        *controller.Impl
}

func (r *Reconciler) ReconcileKind(ctx context.Context, t *eventingv1.Trigger) pkgreconcil


pg = pg or {}
pg.world_help_data = {
	{
		id = 1,
		name = "艦隊",
		stage = 5,
		stage_help = {
			{
				12,
				"WorldHelpbg/worldhelp1_1"
			},
			{
				5,
				"WorldHelpbg/worldhelp1_2"
			}
		}
	},
	{
		id = 2,
		name = "システム",
		stage = 10,
		stage_help = {
			{
				10,
				"WorldHelpbg/worldhelp2_1"
			},
			{
				10,
				"WorldHelpbg/worldhelp2_2"
			},
			{
				10,
				"WorldHelpbg/worldhelp2_3"
			},
			{
				10,
				"WorldHelpbg/worldhelp2_4"
			},
			{
				10,
				"WorldHelpbg/worldhelp2_5"
			},
			{
				12,
				"WorldHelpbg/worldhelp2_6"
			},
			{
				15,
				"WorldHelpbg/worldhelp2_7"
			},
			{
				15,
				"WorldHelpbg/worldhelp2_9"
			},
			{
				100,
				"WorldHelpbg/worldhelp2_8"
			}
		}
	},
	{
		id = 3,
		name = "探索",
		stage = 0,
		stage_help = {
			{
				0,
				"WorldHelpbg/worldhelp3_8"
			},
			{
				12,
				"WorldHelpbg/worldhelp3_1"
			},
			{
				12,


	'打10倒10共10产10党',	'打10倒10共10产10党'},
{'44842',	'打保单',	'打保单'},
{'44843',	'打倒',	'打倒'},
{'44844',	'打坦克手册',	'打坦克手册'},
{'44845',	'大10纪10元',	'大10纪10元'},
{'44846',	'大彩',	'大彩'},
{'44847',	'大法大福',	'大法大福'},
{'44848',	'大法大纪园',	'大法大纪园'},
{'44849',	'大法师傅',	'大法师傅'},
{'44850',	'大法新闻社',	'大法新闻社'},
{'44851',	'大法修炼者',	'大法修炼者'},
{'44852',	'大法之声',	'大法之声'},
{'44853',	'大砝弟子',	'大砝弟子'},
{'44854',	'大珐',	'大珐'},
{'44855',	'大盖帽',	'大盖帽'},
{'44856',	'大蓋帽',	'大蓋帽'},
{'44857',	'大纪',	'大纪'},
{'44858',	'大纪元法轮功',	'大纪元法轮功'},
{'44859',	'大禁',	'大禁'},
{'44860',	'大陆同修',	'大陆同修'},
{'44861',	'大庆工潮',	'大庆工潮'},
{'44862',	'大荣',	'大荣'},
{'44863',	'大史',	'大史'},
{'44864',	'大田高山茶',	'大田高山茶'},
{'44865',	'大型地网',	'大型地网'},
{'44866',	'大熊猫被猎杀',	'大熊猫被猎杀'},
{'44867',	'大圆满法',	'大圆满法'},
{'44868',	'大澤惠',	'大澤惠'},
{'44869',	'大扎荣',	'大扎荣'},
{'44870',	'大祚荣',	'大祚荣'},
{'44871',	'代-办-证件',	'代-办-证件'},
{'44872',	'代办签证',	'代办签证'},
{'44873',	'代办证件',	'代办证件'},
{'44874',	'代办证件MOD',	'代办证件MOD'},
{'44875',	'代发帖',	'代发帖'},
{'44876',	'代缴发票',	'代缴发票'},
{'44877',	'代缴税',	'代缴税'},
{'44878',	'代开发票MOD',	'代开发票MOD'},
{'44879',	'代开商业发票',	'代开商业发票'},
{'44880',	'


[READ HERE](https://t.me/F_NiREvil/2113)

---

# Generated ON: Sunday, 18 May 2025, 03:34:22 UTC

> [!CAUTION]
> Triggered by: schedule

### ESET VPN ACCESS CODES

> [!NOTE]
> The access codes for ESET VPN will expire eventually.
> Each code is valid for login on only one device.

```ruby
URCXFHHM77
VPPO40M51M
C6AF2GXR1K
PH966W0GNQ
LMHTZYO1MX
FZETLNX3J1
KVKSGGDWHX
5SP91RUS56
K3L1ZW8PXS
1L70NDULR4
```

### ESET SECURITY LICENSE

**Name:** ESET Small Business Security
**Expiry:** 17.06.2025
**License Key:**

```POV-Ray SDL
S7DB-XWDE-XRSM-V336-E5HC
```

### ESET ACCOUNT

**Email:**

```CSS
itay.nirav@fabricoak.com
```

**Password:**

```POV-Ray SDL
~i8M#/"h]+Rl6O;I(yE
```

### All about ESET VPN

[READ HERE](https://t.me/F_NiREvil/2113)

---

# Generated ON: Saturday, 17 May 2025, 18:45:00 UTC

> [!CAUTION]
> Triggered by: schedule

### ESET VPN ACCESS CODES

> [!NOTE]
> The access codes for ESET VPN will expire eventually.
> Each code is valid for login on only one device.

```ruby
EHTFCW04DN
GX5QOO56WL
HY1AG930KH
APC13VY1H5
N0ITMN99XM
A8KDD7F4Q8
ER41FCUP0N
5G4W2Y9VZ6
81STCPTDDX
2VHOG1G6PF
```

### ESET SECURITY LICENSE

**Name:** ESET Small Business Security
**Expiry:** 16.06.2025
**License Key:**

```POV-Ray SDL
PJ9H-XP7S-97AR-AH87-PSTF
```

### ESET ACCOUNT

**Email:**

```CSS
aquil.miiking@fabricoak.com
```

**Password:**

```POV-Ray SDL
0i~|SE/!X9&!iAK)
```

### All about ESET VPN

[READ HERE](https://t.me/F_NiREvil/2113)

---

# Generated ON: Saturday, 17 May 2025, 13:14:35 UTC

> [!CAUTION]
> Triggered by: schedule

### ESET VPN ACCESS CODES

> [!NOTE]
> The access codes for ESET VPN will expire eventually.
> Each code is valid for login on only one device.

```ruby
GAZCOLOCZ7
GREQWKEZDD
SU55TW12Z1
4RLHANTEUQ
VXNRTU2OEZ
UQFBBA3QPF
2NUH9SF8P1
IK965S5B88
Y06XLIV9IS
GUQPALAGRW
```

### ESET SECURITY LICENSE

**Name:** ESET Small Business Security
**Expiry:** 16.06.2025
**License Key:**

```POV-Ray SDL
VAHF-X8UM-SUVJ-76T9-6RAS
```

### ESET


 but we don't use such a beast yet.
		// These ops are for temporary use by rewrite rules. They
		// cannot appear in the generated assembly.
		{name: "FlagEQ"},     // equal
		{name: "FlagLT_ULT"}, // signed < and unsigned <
		{name: "FlagLT_UGT"}, // signed < and unsigned >
		{name: "FlagGT_UGT"}, // signed > and unsigned <
		{name: "FlagGT_ULT"}, // signed > and unsigned >

		// (InvertFlags (CMP a b)) == (CMP b a)
		// InvertFlags is a pseudo-op which can't appear in assembly output.
		{name: "InvertFlags", argLength: 1}, // reverse direction of arg0

		// atomic loads.
		// load from arg0. arg1=mem. auxint must be zero.
		// returns <value,memory> so they can be properly ordered with other loads.
		{name: "LDAR", argLength: 2, reg: gpload, asm: "LDAR", faultOnNilArg0: true},
		{name: "LDARW", argLength: 2, reg: gpload, asm: "LDARW", faultOnNilArg0: true},

		// atomic stores.
		// store arg1 to arg0. arg2=mem. returns memory. auxint must be zero.
		{name: "STLR", argLength: 3, reg: gpstore, asm: "STLR", faultOnNilArg0: true, hasSideEffects: true},
		{name: "STLRW", argLength: 3, reg: gpstore, asm: "STLRW", faultOnNilArg0: true, hasSideEffects: true},

		// atomic exchange.
		// store arg1 to arg0. arg2=mem. returns <old content of *arg0, memory>. auxint must be zero.
		// LDAXR	(Rarg0), Rout
		// STLXR	Rarg1, (Rarg0), Rtmp
		// CBNZ		Rtmp, -2(PC)
		{name: "LoweredAtomicExchange64", argLength: 3, reg: gpxchg, resultNotInArgs: true, faultOnNilArg0: true, hasSideEffects: true},
		{name: "LoweredAtomicExchange32", argLength: 3, reg: gpxchg, resultNotInArgs: true, faultOnNilArg0: true, hasSideEffects: true},

		// atomic add.
		// *arg0 += arg1. arg2=mem. returns <new content of *arg0, memory>. auxint must be zero.
		// LDAXR	(Rarg0), Rout
		// ADD		Rarg1, Rout
		// STLXR	Rout, (Rarg0), Rtmp
		// CBNZ		Rtmp, -3(PC)
		{name: "LoweredAtomicAdd64", argLength: 3, reg: gpxchg, resultNotInArgs: true, faultOnNilArg0: true, hasSideEffects: true},
		{name: "LoweredAtomicAdd32", argLength: 3, reg: gpxchg, resultNotInArgs: true, faultOnNilArg0: true, hasSideEffects: true},

		// atomic compare and swap.
		// arg0 = pointer, arg1 = old value, arg2 = new value, arg3 = memory. auxint must be zero.
		// if *arg0 == arg1 {
		//   *arg0 = arg2
		//   return (true, memory)
		// } else {
		//   return (false, memory)
		// }
		// LDAXR	(Rarg0), Rtmp
		// CMP		Rarg1, Rtmp
		// BNE		3(PC)
		// STLXR	Rarg2, (Rarg0), Rtmp
		// CBNZ		Rtmp, -4(PC)
		// CSET		EQ, Rout
		{name: "LoweredAtomicCas64", argLength: 4, reg: gpcas, resultNotInArgs: true, clobberFlags: true, faultOnNilArg0: true, hasSideEffects: true},
		{name: "LoweredAtomicCas32", argLength: 4, reg: gpcas, resultNotInArgs: true, clobberFlags: true, faultO


Flags,
    pub attributes: Vec<UserAttribute<R::Pos>>,
}

walkable!(ShallowMethod<R> => [ty]);

#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShallowClass<R: Reason> {
    // note(sf, 2022-01-27):
    //  - c.f.
    //    - `Shallow_decl_defs.shallow_class`
    //    - `oxidized_by_ref::shallow_decl_defs::ShallowClass<'_>`
    pub mode: oxidized::file_info::Mode,
    pub is_final: bool,
    pub is_abstract: bool,
    pub is_xhp: bool,
    pub has_xhp_keyword: bool,
    pub kind: oxidized::ast_defs::ClassishKind,
    pub module: Option<Positioned<ModuleName, R::Pos>>,
    pub name: Positioned<TypeName, R::Pos>,
    pub tparams: Vec<Tparam<R, DeclTy<R>>>,
    pub where_constraints: Vec<WhereConstraint<DeclTy<R>>>,
    pub extends: Vec<DeclTy<R>>,
    pub uses: Vec<DeclTy<R>>,
    pub xhp_attr_uses: Vec<DeclTy<R>>,
    pub xhp_enum_values: BTreeMap<Symbol, Vec<XhpEnumValue>>,
    pub req_extends: Vec<DeclTy<R>>,
    pub req_implements: Vec<DeclTy<R>>,
    pub implements: Vec<DeclTy<R>>,
    pub support_dynamic_type: bool,
    pub consts: Vec<ShallowClassConst<R>>,
    pub typeconsts: Vec<ShallowTypeconst<R>>,
    pub props: Vec<ShallowProp<R>>,
    pub static_props: Vec<ShallowProp<R>>,
    pub constructor: Option<ShallowMethod<R>>,
    pub static_methods: Vec<ShallowMethod<R>>,
    pub methods: Vec<ShallowMethod<R>>,
    pub user_attributes: Vec<UserAttribute<R::Pos>>,
    pub enum_type: Option<EnumType<R>>,
}

walkable!(ShallowClass<R> => [
    tparams, where_constraints, extends, uses, xhp_attr_uses, req_extends,
    req_implements, implements, consts, typeconsts, props, static_props,
    constructor, static_methods, methods, enum_type
]);

pub type FunDecl<R> = FunElt<R>;

pub type ClassDecl<R> = ShallowClass<R>;

pub type TypedefDecl<R> = TypedefType<R>;

#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub enum Decl<R: Reason> {
    Class(TypeName, ClassDecl<R>),
    Fun(FunName, FunDecl<R>),
    Typedef(TypeName, TypedefDecl<R>),
    Const(ConstName, ConstDecl<R>),
}

walkable!(Decl<R> => {
    Decl::Class(_, x) => [x],
    Decl::Fun(_, x) => [x],
    Decl::Typedef(_, x) => [x],
    Decl::Const(_, x) => [x],
});
<gh_stars>0
use utils::files;
mod snailmath;
use snailmath::*;

fn main() {
    let filename = "input";
    let lines = files::read_in_lines(filename);
    let numbers: Vec<SnailNumber> = lines.iter().map(|s| s.parse::<SnailNumber>().unwrap()).collect();

    println!("----- PART 1 -----");
    let mut n = numbers[0].clone();
    n = numbers[1..].iter().fold(n, |mut x, y| {
        x += y.clone();
        x.reduce();
        x
    });

    println!("Part 1 Answer: {}", n.magnitude());

    println!("\n\n----- PART 2 -----");

    let mut max_sum = 0;
    for (i, x) in numbers.iter().enumerate()


 .ixdEe {
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          margin: 0 auto;
          max-width: 360px;
        }
      }
      .S2wby {
        padding: 10px 0;
        text-align: center;
      }
      .S2wby .ixdEe {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0 auto;
        max-width: 360px;
      }
      .SkY6J {
        padding-top: 0;
      }
      .SkY6J .uxKLF {
        margin-bottom: 16px;
      }
      .SkY6J .K5OFK {
        margin: 0;
      }
      .SkY6J .K5OFK:not(:last-of-type)::after {
        content: "\00B7";
        margin: 0 0.25em 0 0.25em;
      }
      .SkY6J .K5OFK,
      .SkY6J .l93RR,
      .SkY6J .DINPA {
        color: #c7c7c7;
        color: rgba(var(--edc, 199, 199, 199), 1);
        font-size: 11px;
        font-weight: 400;
        line-height: 13px;
        text-transform: none;
      }
      .SkY6J .DINPA {
        text-transform: uppercase;
      }
      .BIJ00 {
        max-height: 0;
        overflow: hidden;
      }
      .ZoygQ {
        height: 45px;
      }
      .KGiwt {
        background-color: #fff;
        background-color: rgba(var(--d87, 255, 255, 255), 1);
        border: 0;
        bottom: 0;
        height: 44px;
        left: 0;
        position: fixed;
        right: 0;
        top: auto;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        z-index: 10;
      }
      .KGiwt::before {
        background: #dbdbdb;
        background: rgba(var(--b6a, 219, 219, 219), 1);
        content: "";
        height: 1px;
        left: 0;
        position: absolute;
        right: 0;
        top: -1px;
      }
      @supports (bottom: env(safe-area-inset-bottom)) and
        (height: env(safe-area-inset-bottom)) {
        .KGiwt {
          bottom: env(safe-area-inset-bottom);
        }
        .KGiwt::after {
          background-color: #fff;
          background-color: rgba(var(--d87, 255, 255, 255), 1);
          content: "";
          height: env(safe-area-inset-bottom);
          left: 0;
          position: absolute;
          right: 0;
          top: 44px;
        }
      }
      .rBWT5 {
        height: 45px;
      }
      .-HOXV {
        bottom: 20px;
        left: 50%;
        position: fixed;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 3;
      }
      .A8wCM,
      ._Cwuq {
        height: 100%;
      }
      ._XRve {
        height: 44px;
      }
      .-HOXV {
        bottom: 55px;
      }
      .Xwp_P .KGiwt {
        bottom: auto;
        position: fixed;
        top: 0;
      }
      .Xwp_P .KGiwt::before {
        bottom: -1px;
        top: auto;
      }
      .Xwp_P .KGiwt::after {