জেনেরিক কার্নেল ইমেজ (GKI) রিলিজ প্রক্রিয়া

এই পৃষ্ঠাটি বর্ণনা করে যে কিভাবে GKI প্রকাশ করা হয়, সাপ্তাহিক, মাসিক, এবং ব্যান্ড জরুরী রিলিজের বাইরে। এই নথির লক্ষ্য হল OEMs-কে GKI কোথা থেকে বাছাই করতে হবে সেই সাথে ব্যান্ড জরুরী সংশোধনের প্রক্রিয়ার জন্য একটি নির্দেশিকা দেওয়া। OEMগুলি তাদের পণ্যগুলির জন্য GKI কার্নেল অপ্টিমাইজ করতে Android কার্নেল টিমের সাথে কীভাবে কাজ করতে পারে সে সম্পর্কে আরও জানতে GKI বিকাশ ব্যবহার করতে পারে৷

GKI রিলিজ ক্যাডেন্স

GKI একটি মাসিক ক্যাডেন্স পোস্ট KMI ফ্রিজে প্রকাশিত হয়।

Android 13, 14, এবং 15 GKI রিলিজ

নিম্নলিখিত সারণীটি শুধুমাত্র android13-5.10 , android13-5.15 এবং android14-5.15 এর জন্য প্রযোজ্য।

GKI মাসিক প্রত্যয়িত বিল্ড চেক-ইন কাট অফ ডেট GKI প্রিলোড প্রস্তুত তারিখ নিশ্চিত?
নভেম্বর 11 নভেম্বর, 2024 নভেম্বর 27, 2024 হ্যাঁ
জানুয়ারি জানুয়ারী 17, 2025 31 জানুয়ারী, 2025 হ্যাঁ
মার্চ 14 মার্চ, 2025 মার্চ 31, 2025 হ্যাঁ

নিম্নলিখিত টেবিলটি শুধুমাত্র android14-6.1 এবং android15-6.6 এর জন্য প্রযোজ্য।

GKI মাসিক প্রত্যয়িত বিল্ড চেক-ইন কাট অফ ডেট GKI প্রিলোড প্রস্তুত তারিখ নিশ্চিত?
অক্টোবর অক্টোবর 1, 2024 অক্টোবর 14, 2024 হ্যাঁ
নভেম্বর নভেম্বর 1, 2024 15 নভেম্বর, 2024 হ্যাঁ
ডিসেম্বর 2শে ডিসেম্বর, 2024 ১৬ ডিসেম্বর, ২০২৪ হ্যাঁ
জানুয়ারি 6 জানুয়ারী, 2025 জানুয়ারী 22, 2025 হ্যাঁ

Android 12 GKI রিলিজ

মে 2024-এর পরে, android12-5.10 GKI রিলিজগুলি ত্রৈমাসিক ক্যাডেন্সে এবং প্রকাশিত হয় মাসের মাঝামাঝি৷ নিম্নলিখিত টেবিলটি শুধুমাত্র android12-5.10 এর জন্য প্রযোজ্য।

GKI মাসিক প্রত্যয়িত বিল্ড চেক-ইন কাট অফ ডেট GKI প্রিলোড প্রস্তুত তারিখ নিশ্চিত?
নভেম্বর নভেম্বর 1, 2024 15 নভেম্বর, 2024 হ্যাঁ
ফেব্রুয়ারি 3 ফেব্রুয়ারি, 2025 ফেব্রুয়ারি 17, 2025 হ্যাঁ

OEM-এর জন্য GKI বিল্ড বৈধতা

OEMগুলি সম্প্রতি প্রকাশিত একটি Android GKI ব্যবহার করতে পারে৷ OEMগুলি GKI-প্রত্যয়িত বিল্ডগুলির সাথে লঞ্চ করতে পারে যতক্ষণ না তারা Android সিকিউরিটি বুলেটিন (ASB)-এর LTS প্রয়োজনীয়তাগুলির সাথে সম্মত হয়৷

সাপ্তাহিক উন্নয়ন রিলিজ

ন্যূনতম মানের বার পাস করার জন্য রিলিজগুলি কাটলফিশ দিয়ে পরীক্ষা করা হয়।

GKI বাইনারিগুলি Android CI থেকে স্ব-পরিষেবার জন্য উপলব্ধ কারণ পরিবর্তনগুলি একত্রিত করা হয়েছে৷ সাপ্তাহিক বিল্ডগুলি প্রত্যয়িত হবে না, যদিও বিকাশ এবং পরীক্ষার জন্য একটি বেসলাইন হিসাবে ব্যবহার করা যেতে পারে। সাপ্তাহিক বিল্ডগুলি শেষ ব্যবহারকারীদের জন্য উত্পাদন ডিভাইস বিল্ডের জন্য ব্যবহার করা যাবে না।

মাসিক প্রত্যয়িত রিলিজ

GKI মাসিক রিলিজে একটি পরীক্ষিত boot.img থাকে যাতে বাইনারিগুলি একটি পরিচিত সোর্স কোড বেসলাইন থেকে তৈরি করা হয়েছে তা প্রমাণ করার জন্য একটি Google সন্নিবেশিত শংসাপত্র অন্তর্ভুক্ত করে।

প্রতি মাসে, একটি GKI মাসিক রিলিজ প্রার্থী (প্রত্যয়িত নয়) চেক-ইন কাট অফ তারিখের পরে নির্বাচন করা হয়, যা সাধারণত সেই মাসের দ্বিতীয় সাপ্তাহিক বিল্ড। মাসিক রিলিজ প্রার্থী নির্বাচন করার পরে, সেই মাসের রিলিজে নতুন পরিবর্তনগুলি গ্রহণ করা হবে না। ক্লোজড উইন্ডো পিরিয়ডের সময়, শুধুমাত্র বাগগুলির সমাধান করা যেতে পারে যা পরীক্ষার ব্যর্থতার কারণ হয়। রিলিজ প্রার্থীর গুণমানের নিশ্চয়তা রয়েছে—যেমন GKI যোগ্যতা বিভাগে বর্ণিত হয়েছে—একটি রেফারেন্স ডিভাইসের পাশাপাশি কাটলফিশের সাহায্যে GSI+GKI বিল্ডে সম্মতি পরীক্ষা পাস করা নিশ্চিত করতে।

GKI রিলিজ ক্যাডেন্স টাইমলাইন চিত্র 1. GKI প্রকাশের সময়রেখা

জরুরী respin প্রক্রিয়া

একটি রেসপিন GKI কার্নেলের সর্বজনীন প্রকাশের পরে একটি বাইনারিকে পুনঃনির্মাণ, পুনর্নির্মাণ, পুনরায় পরীক্ষা এবং পুনরায় শংসাপত্র প্রদানের প্রক্রিয়াকে বোঝায়। আপনি নিম্নলিখিত যেকোনো পরিস্থিতিতে একটি প্রত্যয়িত বাইনারির একটি রেস্পিন অনুরোধ করতে পারেন:

  • একটি প্রতীক তালিকা আপডেট করতে.
  • ক্যারিয়ার ল্যাব অনুমোদনের সময় পাওয়া বাগগুলি সহ একটি বাগ সংশোধন করতে।
  • একটি বিক্রেতা হুক যোগ করতে.
  • বিদ্যমান বৈশিষ্ট্যে একটি প্যাচ প্রয়োগ করতে।
  • একটি নিরাপত্তা প্যাচ প্রয়োগ করতে (6 মাস পরে)।

সুরক্ষা প্যাচগুলি শাখা প্রকাশের পরে 6 মাস পর্যন্ত একটি রিলিজ শাখায় স্বয়ংক্রিয়ভাবে একত্রিত হয়। 6 মাসের কাটঅফের পরে, আপনাকে অবশ্যই একটি শাখায় নিরাপত্তা প্যাচ প্রয়োগ করার জন্য একটি রেসপিনের অনুরোধ করতে হবে।

রিস্পিন অনুরোধ নির্দেশিকা

একটি রেস্পিন অনুরোধ করার আগে, নিম্নলিখিত নির্দেশিকা নোট করুন:

  • একটি মাসিক বিল্ডের একটি প্রাথমিক প্রকাশ্য প্রকাশের পরে শুধুমাত্র রিলিজ শাখাগুলিতে রেসপিনগুলি অনুমোদিত হয়৷

  • রেসপিন অনুরোধ শুধুমাত্র একটি প্রদত্ত রিলিজ শাখার জন্য প্রাথমিক প্রকাশ্য প্রকাশের পরে সর্বাধিক ছয় মাসের জন্য গ্রহণ করা হয়। ছয় মাস পরে, শাখাগুলি শুধুমাত্র Android নিরাপত্তা বুলেটিনে উদ্ধৃত নিরাপত্তা প্যাচগুলির জন্য রেসপিনের জন্য যোগ্য৷

  • যখন এলটিএস প্রয়োজনীয়তা , অ্যান্ড্রয়েড সিকিউরিটি বুলেটিন (ASB) দ্বারা সংজ্ঞায়িত করা হয় তখন শাখাটি অসঙ্গতিপূর্ণ হয়, তখন শাখাটি বাতিল করা হয়। অপ্রচলিত শাখাগুলির জন্য রেস্পিন অনুরোধগুলি গ্রহণ করা হয় না। একটি প্রদত্ত GKI রিলিজ শাখার অবচয় তারিখ রিলিজের অধীনে মাসিক GKI রিলিজ বিল্ড নোটে অন্তর্ভুক্ত করা হয়েছে। ভবিষ্যৎ পরিকল্পনার জন্য, LTS প্রয়োজনীয়তাগুলি প্রতি বছর মে এবং নভেম্বর মাসে আপডেট করা হয়। উদাহরণস্বরূপ, android12-5.10-2023-07 শাখা (5.10.177) 1 মে, 2024-এর পরে রেসপিনের জন্য সমর্থিত নয়, কারণ android12-5.10-2023-07 শাখা (5.10.177) মেনে চলে না ASB-2024-05 এর LTS প্রয়োজনীয়তা।

  • Respins শুধুমাত্র জরুরী বাগ সংশোধন, প্রতীক তালিকা আপডেট, বা বিদ্যমান বৈশিষ্ট্য ঠিক করতে একটি প্যাচ প্রয়োগ করার জন্য প্রযোজ্য.

  • মাসিক রিলিজ শাখায় যাওয়া সমস্ত প্যাচ ইতিমধ্যেই প্রধান GKI উন্নয়ন শাখায় মার্জ করা আবশ্যক। উদাহরণস্বরূপ, যদি android12-5.10-2022-09 এর রেস্পিনের জন্য একটি প্যাচের প্রয়োজন হয়, তাহলে এটি অবশ্যই android12-5.10 এ মার্জ করতে হবে।

  • আপনাকে অবশ্যই প্রধান GKI উন্নয়ন শাখা থেকে চেরি-পিক প্যাচগুলি নিতে হবে এবং প্যাচটি মাসিক প্রকাশ শাখায় আপলোড করতে হবে৷

  • রেস্পিন অনুরোধে, আপনাকে অবশ্যই অনুরোধের জন্য একটি অগ্রাধিকার (জরুরি) বরাদ্দ করতে হবে। এই অগ্রাধিকারটি GKI টিমকে একটি সময়মত অংশীদারদের আরও ভালভাবে সহায়তা করতে সাহায্য করে। সমালোচনামূলক বা সময়-সংবেদনশীল অনুরোধের জন্য, P0 হিসাবে অগ্রাধিকার চিহ্নিত করুন। P0 এবং P1 অনুরোধের জন্য, আপনাকে অবশ্যই জরুরীতাকে সমর্থন করতে হবে। নিম্নলিখিত টেবিলটি বাগ অগ্রাধিকার এবং সমাধানের সময় (ESRT) এর একটি ম্যাপিং প্রদান করে:

    অগ্রাধিকার ESRT
    P0 2 ব্যবসায়িক দিন
    P1 5 ব্যবসায়িক দিন
    P2 10 ব্যবসায়িক দিন
    P3 15 ব্যবসায়িক দিন
  • আপনাকে রিলিজ শাখা প্রতি একটি পৃথক respin অনুরোধ জমা দিতে হবে. উদাহরণস্বরূপ, যদি android12-5.10-2022-08 এবং android12-5.10-2022-09 উভয়ের জন্য একটি রেসপিন প্রয়োজন হয়, তাহলে আপনাকে অবশ্যই দুটি রেস্পিন অনুরোধ তৈরি করতে হবে।

  • একটি বিল্ড সরবরাহ করার পরে এবং একটি রেস্পিন অনুরোধকে স্থির হিসাবে চিহ্নিত করার পরে, অতিরিক্ত CL যোগ করার জন্য আপনার রেস্পিন অনুরোধটি পুনরায় খুলতে হবে না। যদি অতিরিক্ত প্যাচগুলি একত্রিত করার প্রয়োজন থাকে তবে আপনাকে অবশ্যই একটি নতুন রেস্পিন অনুরোধ জমা দিতে হবে৷

  • বিবেচনাধীন প্রতিটি CL এর জন্য, নিম্নলিখিত ট্যাগ যোগ করুন।

    • Bug : প্রতিটি CL এর জন্য কমিট মেসেজে বাগ আইডি যোগ করতে হবে।
    • Change-Id : বেস শাখা পরিবর্তনের পরিবর্তন-আইডির সাথে অভিন্ন হতে হবে।
  • যদি একটি respin অনুরোধের জন্য আপনার প্রতিক্রিয়ার প্রয়োজন হয়, এবং আপনি তিন কার্যদিবসের মধ্যে সাড়া না দেন, তাহলে অগ্রাধিকারটি একটি স্তর দ্বারা ডাউনগ্রেড করা হয় (উদাহরণস্বরূপ, P0 নামিয়ে P1 )। আপনি যদি দুই সপ্তাহের জন্য সাড়া না দেন, বাগটি ঠিক করা হবে না (অপ্রচলিত) হিসাবে চিহ্নিত করা হয়।

একটি respin অনুরোধ জমা দিন

নিচের চিত্রটি রেস্পিন প্রক্রিয়াটি দেখায়। প্রক্রিয়াটি শুরু হয় যখন OEM অংশীদার (আপনি) রেস্পিন অনুরোধ জমা দেন।

জরুরী respin প্রক্রিয়া চিত্র 2. রেস্পিন প্রক্রিয়া

রেস্পিন প্রক্রিয়ায় প্রবেশ করতে:

  1. GKI Respin অনুরোধ ফর্মটি পূরণ করুন । এবং অবিলম্বে আপনার Google প্রযুক্তিগত অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন। এই ফর্মটি একটি GKI respin অনুরোধ বাগ তৈরি করে। Respin অনুরোধের বাগগুলি আপনার (অনুরোধকারী), GKI দল এবং নির্দিষ্ট ব্যক্তিদের কাছে দৃশ্যমান হয় যেগুলিকে আপনি বাগের CC তালিকায় যুক্ত করেন।
    • আপনার যদি ইতিমধ্যেই একটি সমাধান থাকে, তাহলে অনুরোধটি AOSP-এ প্যাচ জমা দেওয়ার দিকে নির্দেশ করা উচিত যাতে Google এটি পর্যালোচনা করতে পারে। যদি প্যাচ জমা দেওয়া সম্ভব না হয়, প্যাচটিকে অনুরোধের সাথে একটি পাঠ্য ফাইল হিসাবে সংযুক্ত করতে হবে।
    • আপনার যদি কোনো সমাধান না থাকে, অনুরোধে কার্নেল সংস্করণ নম্বর এবং লগ সহ যতটা সম্ভব তথ্য থাকতে হবে, যাতে Google সমস্যাটি ডিবাগ করতে সাহায্য করতে পারে।
  2. Google GKI টিম অনুরোধটি পর্যালোচনা করে এবং এটি অনুমোদন করে বা আরও তথ্যের প্রয়োজন হলে এটি আপনাকে ফিরিয়ে দেয়।
  3. একটি সমাধানে সম্মত হওয়ার পরে, Google GKI টিম কোডটি পরিবর্তনটি পর্যালোচনা করে (CR+2)৷ পর্যালোচনা শুরু হয় ESRT সময়সীমা। GKI দল একত্রিত করে, তৈরি করে, রিগ্রেশনের জন্য পরীক্ষা করে এবং পরিবর্তনকে প্রত্যয়িত করে।
  4. বাইনারিটি ci.android.com এ প্রকাশ করা হয়েছে। ESRT টাইমফ্রেম শেষ হয় এবং Google GKI টিম অনুরোধটিকে স্থির হিসাবে চিহ্নিত করে এবং রেস্পিন বিল্ডকে উল্লেখ করে। রেস্পিন বিল্ড জেনেরিক কার্নেল ইমেজ (GKI) রিলিজ বিল্ড পৃষ্ঠাতেও পোস্ট করা হয়েছে।

GKI যোগ্যতা

GKI বিল্ডের ধরন গুণমান প্রয়োগ নোট
সাপ্তাহিক কাটলফিশ পরীক্ষা
  • বুট
  • VTS এর উপসেট
  • CTS এর উপসেট
  • প্রত্যয়িত নয়। শুধুমাত্র পরীক্ষার জন্য এবং
    ডিভাইস আনা।
  • ডিভাইস চালু করার জন্য ব্যবহার করা যাবে না।
মাসিক (প্রত্যয়িত) কাটলফিশ পরীক্ষা
  • বুট
  • ভিটিএস
  • সিটিএস
রেফারেন্স হার্ডওয়্যার পরীক্ষা
  • বুট
  • ভিটিএস
  • সিটিএস
    রেসপিনস (প্রত্যয়িত) কাটলফিশ পরীক্ষা
    • বুট
    • ভিটিএস
    • CTS এর উপসেট
    রেফারেন্স ডিভাইস পরীক্ষা
    • বুট
    • ভিটিএস
    • একটি GKI প্রত্যয়িত বিল্ডের উপরে নির্মিত।
    • বিল্ড যোগ্যতা পরে প্রত্যয়িত হয়.

    বিল্ড আর্টিফ্যাক্টগুলি কোথায় পাবেন

    সমস্ত রিলিজের আর্টিফ্যাক্ট ci.android.com থেকে পাওয়া যাবে।

    আপনি অ্যান্ড্রয়েড কন্টিনিউয়াস ইন্টিগ্রেশন ড্যাশবোর্ডে পরীক্ষার ফলাফল সহ CI-তে আরও তথ্য পেতে পারেন।

    FAQs

    এখানে জিকেআই রিলিজ প্রক্রিয়া সম্পর্কিত কিছু প্রায়শই জিজ্ঞাসিত প্রশ্ন রয়েছে।

    ইতিমধ্যে প্রকাশিত GKI এর উপর ভিত্তি করে একটি নতুন GKI বাইনারি তৈরি করা কি সম্ভব?

    হ্যাঁ, এটি একটি রেস্পিন হিসাবে পরিচিত। রেসপিন প্রক্রিয়াটি ততক্ষণ পর্যন্ত সমর্থিত হয় যতক্ষণ পর্যন্ত মুক্তিপ্রাপ্ত GKI বিল্ড (যেটিতে রেস্পিন অনুরোধ করা হয়েছে) Android সিকিউরিটি বুলেটিন (ASB)-এর LTS প্রয়োজনীয়তাগুলির সাথে সঙ্গতিপূর্ণ।

    GKI বাইনারি পুনরুত্পাদন করা কি সম্ভব?

    হ্যাঁ, এখানে একটি উদাহরণ:

    GKI 2.0
    5.10 kernel prebuilts from build 7364300
    https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
    

    উদাহরণ পুনরুত্পাদন করতে, manifest_$id.xml ডাউনলোড করুন এবং নিম্নলিখিত কমান্ডটি চালান:

    repo init -u https://android.googlesource.com/kernel/manifest
    mv manifest_7364300.xml .repo/manifests
    repo init -m manifest_7364300.xml --depth=1
    repo sync
    # build the GKI images
    # You may want to use LTO=thin to build faster for development
    BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
    # (optional) build virtual platform modules
    BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh

    আপনি out/.../dist থেকে আপনার GKI আর্টিফ্যাক্ট কপি পুনরুদ্ধার করতে পারেন।

    GKI বাইনারি (জরুরি স্পিন প্যাচ সহ) সর্বশেষ কোডবেসে তৈরি করা হয়েছে?

    না। রেসপিনে শুধুমাত্র প্যাচ থাকে যা মাসিক প্রত্যয়িত কার্নেলের উপরে থাকে যা বেছে নেওয়া হয়েছে। এই রেসপিনে সমস্ত লঞ্চ ব্লকিং বাগ ফিক্স থাকে যতক্ষণ পর্যন্ত সংশ্লিষ্ট বেস মাসিক রিলিজ ব্যবহার করে OEM দ্বারা নির্ধারিত সময় পর্যন্ত রিপোর্ট করা হয়। এই ধরনের দৃশ্যকল্প কিভাবে ঘটে তার নিচের উদাহরণটি দেখুন।

    • OEM1 এবং OEM2 নভেম্বর 2021 থেকে GKI বাইনারি রিলিজ ব্যবহার করার সিদ্ধান্ত নিয়েছে।
    • OEM1 এবং OEM2 সমস্যাগুলি খুঁজে পায় যেগুলির সমর্থনের জন্য প্যাচগুলির প্রয়োজন৷ এই প্যাচগুলি ভিন্ন হতে পারে বা একই হতে পারে।
    • নভেম্বর 2021 বাইনারির উপরের রেসপিনগুলিতে রেস্পিন উইন্ডো চলাকালীন OEM1 এবং OEM2 উভয়ের দ্বারা রিপোর্ট করা ব্লকিং ফিক্স রয়েছে, তবে এর বেশি কিছু নয়।
    • দ্বিতীয় বুলেটে উল্লিখিত সমস্যাগুলি পরবর্তী GKI মাসিক রিলিজেও অন্তর্ভুক্ত করা হয়েছে।

    অক্টোবর রেসপিনে সমস্ত OEM জমা দেওয়া প্যাচ রয়েছে, তবে অন্যান্য OEM প্যাচগুলি আমাদের প্রভাবিত করে, কারণ সেগুলি আমাদের পণ্যগুলির সাথে বিশেষভাবে পরীক্ষা করা হয়নি৷ এটা শুধুমাত্র আমাদের প্যাচ অন্তর্ভুক্ত করা সম্ভব?

    এটা সম্ভব নয়। একটি "প্রতি-OEM" রেস্পিন পাথ মাপযোগ্য নয়। পরিবর্তে, GKI টিম রেস্পিন বিল্ডে যাওয়া প্রতিটি পরিবর্তন যাচাই করে এবং একটি নতুন বিল্ড তৈরি করার আগে সমস্ত উপলব্ধ হার্ডওয়্যারের সাথে পরিবর্তনগুলি পরীক্ষা করে। যদি GKI টিম দেখতে পায় যে সমস্যাটি একটি OEM, ডিভাইস বা মডেলের জন্য নির্দিষ্ট, GKI টিম নিশ্চিত করতে পারে যে পরিবর্তনের মাধ্যমে যোগ করা কোড শুধুমাত্র ডিভাইস, মডেল বা SKU প্রভাবিত হচ্ছে।

    ইউনিফাইড রেসপিনের প্রধান সুবিধা হল যে প্রত্যেকটি ডিভাইস যা একই রিলিজ বেস ব্যবহার করে একে অপরের থেকে সুবিধা পায়, বিশেষ করে যদি তারা যে বাগগুলি আবিষ্কার করে তা জেনেরিক এবং সমস্ত ব্যবহারকারীর জন্য প্রযোজ্য। ক্যারিয়ার পরীক্ষায় পাওয়া কোর কার্নেল বাগগুলি এই ধারণার একটি নির্দিষ্ট উদাহরণ।

    এমন কোন পরিস্থিতিতে আছে যেখানে Google OEM প্যাচ এবং সমস্যা পরিস্থিতি সম্পর্কে নির্দিষ্ট তথ্য প্রদান করে, যাতে OEM তাদের পণ্যগুলির সাথে প্যাচগুলি বাস্তবায়নের প্রভাব এবং ঝুঁকি মূল্যায়ন করতে পারে?

    যতক্ষণ না সমস্যাটি বোঝা যায় এবং সমস্ত বিবরণ সংগ্রহ করা না হয় ততক্ষণ Google কখনই একটি রেস্পিন বিল্ডে কোনও পরিবর্তন যোগ করবে না। এটি চেঞ্জলগ (কমিট মেসেজ) এ দেখা যায়। এটি কোন নির্দিষ্ট ডিভাইসকে প্রভাবিত করে তা Google প্রকাশ করে না, তবে OEM সর্বদা চেঞ্জলগে সমস্যার বিবরণ এবং সমাধান খুঁজে পেতে পারে।